博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ——1601: [Usaco2008 Oct]灌水
阅读量:4609 次
发布时间:2019-06-09

本文共 960 字,大约阅读时间需要 3 分钟。

Time Limit: 5 Sec  Memory Limit: 162 MB
Submit: 2156  Solved: 1416
[][][]

Description

Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记。把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库。 建造一个水库需要花费wi(1<=wi<=100000),连接两块土地需要花费Pij(1<=pij<=100000,pij=pji,pii=0). 计算Farmer John所需的最少代价。

Input

*第一行:一个数n

*第二行到第n+1行:第i+1行含有一个数wi

*第n+2行到第2n+1行:第n+1+i行有n个被空格分开的数,第j个数代表pij。

Output

*第一行:一个单独的数代表最小代价.

Sample Input

4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0

Sample Output

9
输出详解:
Farmer John在第四块土地上建立水库,然后把其他的都连向那一个,这样就要花费3+2+2+2=9

HINT

 

Source

 

1 #include 
2 #include
3 4 #define min(a,b) (a
'9'||ch<'0'; ) ch=getchar();10 for(; ch>='0'&&ch<='9'; ch=getchar()) x=x*10+ch-'0';11 }12 13 const int N(323);14 15 int n,m,dis[N][N];16 17 struct Road {18 int u,v,w;19 Road(int u=0,int v=0,int w=0):u(u),v(v),w(w){;}20 bool operator < (const Road&x) const { return w

 

转载于:https://www.cnblogs.com/Shy-key/p/7892249.html

你可能感兴趣的文章
PHP autoload自动加载机制
查看>>
树状数组
查看>>
JDBC Update操作返回值和Insert操作返回主键
查看>>
css书写规范
查看>>
Android LBS系列03 Geocoder类与地址显示
查看>>
Maven 打包
查看>>
智能视频监控软件
查看>>
AlloyRenderingEngine文本框组件
查看>>
DataTable转换为Json格式
查看>>
洛谷P3773 CTSC2017 吉夫特
查看>>
Leetcode661.Image Smoother图片平滑器
查看>>
hql 链接查询
查看>>
java获取指定文件夹下的所有文件名
查看>>
Spring学习十一
查看>>
iOS -- 全局导航栏返回键
查看>>
android 拖拽listview
查看>>
request
查看>>
Python登录人人网并抓取新鲜事
查看>>
RNN教程之-2 LSTM实战
查看>>
计算两个时间之间相隔几个月
查看>>