poj 2421 Constructing Roads
#include<iostream> //最小生成树primusing namespace std;const int max_ve=105,MaxWeight=2000;int n,edge[max_ve][max_ve],sum; //n,m分别记录顶点数和边数struct MinTree //最小生成树的边{int begin,end,weight;}mintree[max_ve];void Prim(){int min,v,com,i,j,k;for(i=0;i<n-1;i++) //对mintree进行初始化,顶点下标从0开始 { mintree[i].begin=0;mintree[i].end=i+1; mintree[i].weight=edge[0][i+1]; }for(i=0;i<n-1;++i) //求n-1条边 { min=MaxWeight;for(j=i;j<n-1;++j) { if(mintree[j].weight<min) //求最小权值边 { min=mintree[j].weight;k=j; } } swap(mintree[k],mintree[i]); //最小边移至前端 v=mintree[i].end; sum+=mintree[i].weight;for(j=i+1;j<n-1;++j) //更新后面的边 { com=edge[v][mintree[j].end];if(com<mintree[j].weight) { mintree[j].weight=com;mintree[j].begin=v; } } }}int main(){int q,a,b; cin>>n;for(int i=0;i<n;++i)for(int j=0;j<n;++j) cin>>edge[i][j]; cin>>q;while(q--) { cin>>a>>b; edge[a-1][b-1]=edge[b-1][a-1]=0; } Prim(); cout<<sum<<endl;return 0;}
转载于:https://www.cnblogs.com/mjc467621163/archive/2011/07/22/2114382.html
poj 2421 Constructing Roads相关推荐
- POJ 2421 Constructing Roads MST kruskal
最近刚学的并查集所以用kruskal来试试最小生成树~ kruskal其实用几句话就能说完~ 1.贪心所有边的权值,从小到大取值 2.取值时~将边权非0的两个顶点~进行并查操作~如果两个点的祖先不同 ...
- 22.12.14补卡 Constructing Roads POJ - 2421
Constructing Roads - POJ 2421 - Virtual Judge 只有输入有点小坑 只有上三角的数据是有用的, 下三角的数据与上三角重复, 可不处理, 把i>=j的全部 ...
- HDU1102 Constructing Roads 最小生成树
点击打开链接 Online Judge Online Exercise Online Teaching Online Contests Exercise Author F.A.Q Hand In Ha ...
- 【HDU - 1025】Constructing Roads In JGShining's Kingdom(dp最长上升子序列模型 + 二分优化)
题干: Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- HDU 1815, POJ 2749 Building roads(2-sat)
HDU 1815, POJ 2749 Building roads 题目链接HDU 题目链接POJ 题意: 有n个牛棚, 还有两个中转站S1和S2, S1和S2用一条路连接起来. 为了使得随意牛棚两个 ...
- HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题
这道题目没有做出来,代码写好之后一直没有AC,本以为做了这么多最小生成树的题目,这道题一定没问题的,结果很遗憾,没有注意细节问题: 首先,如何处理已经建好的路?已经建好的路说明这两个点是连通的,只要把 ...
- hdu 1025 Constructing Roads In JGShining's Kingdom(DP + 二分)
此博客为转发 Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- Constructing Roads POJ - 2421 (最小生成树)
思路:首先使用二维数组dis[][]处理输入, 对于已经修好的路,将其对应的dis[i][j]置为零即可.最后再将 所有的dis[][]保存到边结构体中,使用Kruskal算法求得最小生成树. ...
- hdu1025 Constructing Roads In JGShining#39;s Kingdom(二分+dp)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 Problem ...
最新文章
- ThinkPHP读取数据库数据到模板文件
- 陈硕智能指针线程安全_C++ 创建线程的方法
- MyBatis Generator 学习
- Docker系列06—基于容器制作镜像并上传到Docker Registry
- 如何查看spark消耗的内存_Spark优化(三)----数据本地化及内存调优
- flymcu无法打开串口_西门子1200与其他PLC/组态软件无线串口通讯(自由口)
- LeetCode 1024. 视频拼接(动态规划/贪心)
- 阿尔伯塔大学2019计算机科学 cs,[阿尔伯塔大学]计算机/计算机工程专业
- GsonFormat插件
- Step By Step(Lua字符串库)
- java 获取日期的几天前,几个月前和几年前
- PHP学习之十二:自定义函数
- extern 头文件 定义声明
- Win10 出现恢复,无法加载操作系统,关键系统驱动程序丢失或错误 蓝屏错误代码0xc000007b
- java背单词页面_简易Web背单词软件 #01# 当前功能
- latex添加bibtex参考文献方法及pdf没有参考文献问题
- 怎么快速的在WORD中勾选空白的小方格,看这里就够了,WORD中如何快速的勾选空白小方格
- 微分算子Park变换的矩阵等价形式
- 如何让淘宝店铺的商品能自动发货到旺旺
- python学习笔记之三——MakeHuman源码阅读