引水工程

时间限制: 2000 ms  |  内存限制: 65535 KB
难度: 3
描述

南水北调工程是优化水资源配置、促进区域协调发展的基础性工程,是新中国成立以来投资额最大、涉及面最广的战略性工程,事关中华民族长远发展。“南水北调工程”,旨在缓解中国华北和西北地区水资源短缺的国家战略性工程。就是把中国长江流域丰盈的水资源抽调一部分送到华北和西北地区。我国南涝北旱,南水北调工程通过跨流域的水资源合理配置,促进南北方经济、社会与人口、资源、环境的协调发展。

整个工程分东线、中线、西线三条调水线。东线工程位于东部,因地势低需抽水北送至华北地区。中线工程从汉水与其最大支流丹江交汇处的丹江口水库引水,自流供水给黄淮海平原大部分地区,20多座大中城市;西线工程在青藏高原上,由长江上游向黄河上游补水。

现在有N个区域需要建设水资源工程,它们可以自建水库解决缺水问题,也可以从已有水源的地区建立管道引水过来。当然,这些建设都需要大量投资。

你能不能给出一个优化水资源配置方案,在保证每个区域都能用上水的前提下,使得整个引水工程费用最低。

输入
第一行: K 表示有多少组测试数据。
接下来对每组测试数据:
第1行: N 表示有N个区域( 1<=N<=300 )
第2 行: W1 W2 …. WN Wi表示第i个区域自建水库需要的费用
再有N行: Pi1 Pi2 …. Pin Pij表示建立第i个区域与第j个区域引水管道的费用
输出
对于每组测试数据,输出占一行,即建立整个引水工程的最小费用。
样例输入
1
5
5 4 4 3 6
0 2 2 2 2
2 0 3 3 3
2 3 0 4 5
2 3 4 0 1
2 3 5 1 0
样例输出
10
来源
第八届河南省程序设计大赛

只要把问题转换一下 就是最小生成树

最好用prim算法 。

我的大概思路 就是 首先找到一个自建水库最少费用的 然后以此为根本 找到与之相关的边

比较权值和它本身自建水库所需费用  当然还要注意细节 如果两个水库的权值一样时如何处理

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int cost[1005][1005];
int vis[1005];
int lowc[1005];
int n;
const int INF=0x3f3f3f3f;
int prim(int pos,int sum)
{int stamp[1005],t=0;stamp[t++]=pos;vis[pos]=1;while(t<n){int min=INF,mark;for(int i=0;i<t;i++){int x=stamp[i];for(int j=0;j<n;j++){if(!vis[j]&&x!=j){if(cost[x][j]<min||lowc[j]<min){min=min<cost[x][j]?min:cost[x][j];min=min<lowc[j]?min:lowc[j];mark=j;}}}}stamp[t++]=mark;vis[mark]=1;sum=sum+min;}return sum;
}
int main()
{int t;scanf("%d",&t);while(t--){memset(cost,0,sizeof(cost));memset(vis,0,sizeof(vis));memset(lowc,0,sizeof(lowc));int p=-1;scanf("%d",&n);int min=INF;for(int i=0;i<n;i++){scanf("%d",&lowc[i]);if(min>lowc[i]){min=lowc[i];p=i;}}for(int i=0;i<n;i++)for(int j=0;j<n;j++)scanf("%d",&cost[i][j]);printf("%d\n",prim(p,min));}
}

第八届省赛题 引水工程相关推荐

  1. 第八届河南省赛D.引水工程(kruthcra+prime)

    D.引水工程 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 118  Solved: 41 [Submit][Status][Web Board] D ...

  2. 第八届省赛——D.引水工程)

    Description 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事关中华民族长远发展."南水北调工程",旨在 ...

  3. 天池竞赛赛题-特征工程-天猫用户重复购买预测解析

    前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...

  4. NYOJ - [第八届河南省程序设计大赛]引水工程(最小生成树)

    题目链接:http://nyoj.top/problem/1239 内存限制:64MB 时间限制:2000ms 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投 ...

  5. 第八届河南省程序设计大赛 引水工程 Prim算法

    引水工程 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程, ...

  6. 第八届山东省赛题 I Parity check 【找规律】

    I Parity check 时间限制: 3 Sec  内存限制: 128 MB 提交: 6  解决: 4 [ 提交][ 状态][ 讨论版] 题目描述 Fascinated with the comp ...

  7. 国内首本数据竞赛图书《阿里云天池大赛赛题解析——机器学习篇》今日开启预售!

    天池平台已经举办了超过 200 场来自真实业务场景的竞赛,每场赛事沉淀的课题和数据集,将在天池保留和开放.天池平台已成为在校学生踏入职场前的虚拟实践基地,也成为聚集40万数据人才,孵化2000余家数据 ...

  8. 光电智能垃圾分拣车 第八届全国大学生光电设计竞赛 赛题 2

    第八届全国大学生光电设计竞赛 赛题 2 光电智能垃圾分拣车 5.20日的通知 因疫情影响,延期举行.但此赛题仍然有效,不会取消. 正文 1 竞技重点: 大视场垃圾搜寻.识别.分类.抢运能力. 2 竞赛 ...

  9. 第八届河南省程序设计大赛D引水工程(最小生成树)

    题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事关中华民族长远发展."南水北调工程",旨在缓解中国华北和 ...

最新文章

  1. 张一鸣的微博世界-组织篇
  2. jQuery中HTML的操作
  3. go map并发写错误问题
  4. “校内”,网进去了谁?
  5. linux时间调整为dst,在Linux中禁用夏令时(DST)更改
  6. jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?
  7. IDEA打包jar包(打包可运行jar,外部引用jar包版)
  8. Android子线程进度条不显示的问题
  9. c语言数据结构课程设计算术表达式求值,《数据结构 课程设计》表达式求值 实验报告...
  10. 我的世界java环境安装包_我的世界JAVA版1.7.10下载安装包最新版 v1.7.10
  11. 开源机器学习项目的简单介绍
  12. c语言中正方形的周长,长方形 正方形面积 和周长的公式
  13. python结构体_python中定义结构体
  14. 计算机的应届毕业生简历上可以写什么,计算机应届生简历范文计算机专业应届毕业生简历写.doc...
  15. python优点是代码库支持、灵活_Google将限制Python语言的应用 开发社区热议
  16. Vue对高德地图2.0的封装使用
  17. 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
  18. java中调用谷歌的无界浏览器对页面元素进行截图
  19. 4.SVG 矩形(rect)
  20. 作为程序员,我将如何教育自己的孩子

热门文章

  1. CF构造思维题练习(1200-1400)
  2. Grid:网格布局基础简述
  3. EDIUS Pro 6.55 注册版
  4. H264编码系列之profile level控制
  5. 【阿里云高校计划】视觉AI-身份证识别系统搭建
  6. 金山毒霸极速版用着不错
  7. [转]东方财智商学院告诉你如何写成功的商业计划书,按这23点来就好了
  8. 基于STM32的TFDU4101红外通信IRDA+串口DMA方式
  9. 【数据迁移】从Oracle或MySql 到PostgreSQL,使用EDB工具。
  10. springboot Vue网吧会员信息管理系统java源码介绍