poj2485解题报告
来源:互联网 发布:收费站车流量数据分析 编辑:程序博客网 时间:2024/06/06 00:28
题目大意:Flatopia岛要修路,这个岛上有n个城市,要求修完路后,各城市之间可以相互到达,且修的总路程最短。求所修路中的最长的路段。
解题思路:Kruskal算法模板,但是本题求的不是最小生成树的总长度,而是最小生成树里边的最长边权,改下模板即可~~
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;const int maxn=500*500;int u[maxn],v[maxn],w[maxn],p[maxn],r[maxn],n,m,t;int cmp(const int i,const int j) {return w[i]<w[j];}int find(int x) {return p[x]==x?x:p[x]=find(p[x]);}int kruskal(){ int cou=0,x,y,i,ans=0; for(i=0;i<n;i++) p[i]=i; for(i=0;i<m;i++) r[i]=i; sort(r,r+m,cmp); for(i=0;i<m;i++) { int e=r[i];x=find(u[e]);y=find(v[e]); if(x!=y) {ans =max(ans,w[e]);p[x]=y;cou++;} } // if(cou<n-1) ans=0; return ans;}int main(){ scanf("%d",&t); while(t--) { scanf("%d",&n); m=0; int a; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { scanf("%d",&a); if(j>=i+1) { u[m]=i; v[m]=j; w[m]=a; m++; } } printf("%d\n",kruskal()); }}
0 0
- poj2485解题报告
- 2011.11.1 poj2485 Highways 解题报告
- poj2485
- poj2485
- poj2485
- poj2485
- poj2485
- poj2485
- poj2485
- poj2485
- POJ2485
- poj2485
- poj2485
- POJ2485
- poj2485
- poj2485
- poj2485
- poj2485
- git ---- Tortoise git -----ppk ---rsa
- 控制浏览器定时刷新、缓存、重定向
- C# 理解泛型
- NYOJ 网络覆盖+数学问题+ceil的使用
- Perl调用shell命令方法小结
- poj2485解题报告
- Asp.Net 用户验证(自定义IPrincipal和IIdentity)
- swift边学边记
- <转>MySQL Cluster (二) --- 单机搭建集群环境
- MySQL优化之——视图
- Domino中的读者域和作者域
- HBase集群数据迁移方案
- H5大会之后,未来指向何方?
- 【iOS开发之Objective-C】继承