第八届省赛题 引水工程
引水工程
- 描述
-
南水北调工程是优化水资源配置、促进区域协调发展的基础性工程,是新中国成立以来投资额最大、涉及面最广的战略性工程,事关中华民族长远发展。“南水北调工程”,旨在缓解中国华北和西北地区水资源短缺的国家战略性工程。就是把中国长江流域丰盈的水资源抽调一部分送到华北和西北地区。我国南涝北旱,南水北调工程通过跨流域的水资源合理配置,促进南北方经济、社会与人口、资源、环境的协调发展。
整个工程分东线、中线、西线三条调水线。东线工程位于东部,因地势低需抽水北送至华北地区。中线工程从汉水与其最大支流丹江交汇处的丹江口水库引水,自流供水给黄淮海平原大部分地区,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));} }
第八届省赛题 引水工程相关推荐
- 第八届河南省赛D.引水工程(kruthcra+prime)
D.引水工程 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 118 Solved: 41 [Submit][Status][Web Board] D ...
- 第八届省赛——D.引水工程)
Description 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事关中华民族长远发展."南水北调工程",旨在 ...
- 天池竞赛赛题-特征工程-天猫用户重复购买预测解析
前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...
- NYOJ - [第八届河南省程序设计大赛]引水工程(最小生成树)
题目链接:http://nyoj.top/problem/1239 内存限制:64MB 时间限制:2000ms 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投 ...
- 第八届河南省程序设计大赛 引水工程 Prim算法
引水工程 时间限制:2000 ms | 内存限制:65535 KB 难度:3 描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程, ...
- 第八届山东省赛题 I Parity check 【找规律】
I Parity check 时间限制: 3 Sec 内存限制: 128 MB 提交: 6 解决: 4 [ 提交][ 状态][ 讨论版] 题目描述 Fascinated with the comp ...
- 国内首本数据竞赛图书《阿里云天池大赛赛题解析——机器学习篇》今日开启预售!
天池平台已经举办了超过 200 场来自真实业务场景的竞赛,每场赛事沉淀的课题和数据集,将在天池保留和开放.天池平台已成为在校学生踏入职场前的虚拟实践基地,也成为聚集40万数据人才,孵化2000余家数据 ...
- 光电智能垃圾分拣车 第八届全国大学生光电设计竞赛 赛题 2
第八届全国大学生光电设计竞赛 赛题 2 光电智能垃圾分拣车 5.20日的通知 因疫情影响,延期举行.但此赛题仍然有效,不会取消. 正文 1 竞技重点: 大视场垃圾搜寻.识别.分类.抢运能力. 2 竞赛 ...
- 第八届河南省程序设计大赛D引水工程(最小生成树)
题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事关中华民族长远发展."南水北调工程",旨在缓解中国华北和 ...
最新文章
- 张一鸣的微博世界-组织篇
- jQuery中HTML的操作
- go map并发写错误问题
- “校内”,网进去了谁?
- linux时间调整为dst,在Linux中禁用夏令时(DST)更改
- jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?
- IDEA打包jar包(打包可运行jar,外部引用jar包版)
- Android子线程进度条不显示的问题
- c语言数据结构课程设计算术表达式求值,《数据结构 课程设计》表达式求值 实验报告...
- 我的世界java环境安装包_我的世界JAVA版1.7.10下载安装包最新版 v1.7.10
- 开源机器学习项目的简单介绍
- c语言中正方形的周长,长方形 正方形面积 和周长的公式
- python结构体_python中定义结构体
- 计算机的应届毕业生简历上可以写什么,计算机应届生简历范文计算机专业应届毕业生简历写.doc...
- python优点是代码库支持、灵活_Google将限制Python语言的应用 开发社区热议
- Vue对高德地图2.0的封装使用
- 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
- java中调用谷歌的无界浏览器对页面元素进行截图
- 4.SVG 矩形(rect)
- 作为程序员,我将如何教育自己的孩子