1601: [Usaco2008 Oct]灌水

Time Limit: 5 Sec  Memory Limit: 162 MB
Submit: 1978  Solved: 1297
[Submit][Status][Discuss]

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

模板水题- -

虚构一个点n+1,这个点与所有土地都连一条长度为建造水库所需花费的边

然后求最小生成树

#include<stdio.h>
#include<string.h>
#define inf 1044266558
int road[305][305], bet[305], flag[305];
int main(void)
{int n, i, x, temp, j, k, ans;while(scanf("%d", &n)!=EOF){for(i=1;i<=n;i++){scanf("%d", &x);road[i][n+1] = road[n+1][i] = x;}for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d", &road[i][j]);if(i==j)road[i][j] = inf;}}ans = 0;memset(flag, 0, sizeof(flag));for(i=2;i<=n+1;i++)bet[i] = road[1][i];for(i=2;i<=n+1;i++){k = inf;for(j=2;j<=n+1;j++){if(flag[j]==0 && bet[j]<k){k = bet[j];temp = j;}}ans += k;flag[temp] = 1;for(j=2;j<=n+1;j++){if(flag[j]==0 && road[temp][j]<bet[j])bet[j] = road[temp][j];}}printf("%d\n", ans);}return 0;
}

bzoj 1601: [Usaco2008 Oct]灌水(最小生成树)相关推荐

  1. BZOJ 1601 [Usaco2008 Oct]灌水 (最小生成树)

    题意 Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. 建造一个水库需要 ...

  2. bzoj1601: [Usaco2008 Oct]灌水

    经典延伸最小生成树问题... #include<cstdio> #include<cstring> #include<cctype> #include<alg ...

  3. bzoj1601 [Usaco2008 Oct]灌水

    Description Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. ...

  4. [Usaco2008 Oct]灌水

    题目描述 Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. 建造一个水库 ...

  5. BZOJ 1603: [Usaco2008 Oct]打谷机

    1603: [Usaco2008 Oct]打谷机 Description Farmer John有一个过时的打谷机(收割小麦),它需要带子来带动.发动机驱动轮1总是顺时针旋转的,用来带动转轮2,转轮2 ...

  6. bzoj 1603: [Usaco2008 Oct]打谷机(拆点并查集)

    1603: [Usaco2008 Oct]打谷机 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 977  Solved: 749 [Submit][St ...

  7. bzoj 1600: [Usaco2008 Oct]建造栅栏(DP)

    1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1310  Solved: 810 [Submit][ ...

  8. bzoj 1602: [Usaco2008 Oct]牧场行走(暴力LCA)

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 2011  Solved: 1058 [Submit] ...

  9. BZOJ 1599: [Usaco2008 Oct]笨重的石子( 枚举 )

    直接枚举 ------------------------------------------------------------------------------- #include<cst ...

最新文章

  1. ACNO.15猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再
  2. spring security自定义指南
  3. wordpress主题部署到github pages(调研+具体操作-还没有完成)
  4. SharePoint 2010-随机出现的页面性能问题
  5. 通才与专家_那么您准备聘请数据科学家了吗? 通才还是专家?
  6. 一文看懂 | 内存交换机制
  7. python查找序列元素的最大值和最小值_pthon基础知识(索引、切片、序列相加、乘法、检查元素是否是序列成员、计算序列长度、最大最小值)...
  8. linux内核那些事之用户空间管理
  9. 苹果Mac Win10式任务栏工具:uBar
  10. Spring Struts2 整合
  11. 《硅谷钢铁侠》---- 读书笔记
  12. raid(磁盘阵列)
  13. 【JZOJ 4816】label
  14. proccessing 中的 port busy
  15. 常见排序算法02之插入排序与希尔排序
  16. 伴随着三维全息投影技术的升级,物理屏幕将彻底消失
  17. 机器学习笔记 - 互信息Mutual Information
  18. flutter页面布局HTML,Flutter开发实战初级(2)页面布局详解
  19. centos安装ghostscript+PHP扩展imagick
  20. 自用笔记44——基姆拉尔森公式和字符串数组

热门文章

  1. Windows 10专业版下如何启用语音识别功能
  2. 亚马逊的人工智能将实时语音识别错误率降低了6.2%
  3. 有人用语音识别写作吗,如果没有,为什么?
  4. 2020最常用的8个代码编辑器推荐
  5. 订单失效怎么做的_虾皮Shopee新加坡电商做什么产品好呢?订单少得可怜怎么办呢...
  6. Node.js模块化开发(非常详细,满满的干货)
  7. sql server php删除,使用 SQL Server 添加删除修改查询储存过程
  8. 二叉树最大深度(LeetCode 104)
  9. python画椭圆的逻辑_在Python中绘制椭圆轨道(使用numpy,matplotlib)
  10. ssm中ajax无反应,jquery + bootstrap(模态框romote) + click - ajax + SSM插入数据库没反应...