hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
来源:互联网 发布:java 接口方法 public 编辑:程序博客网 时间:2024/05/14 22:17
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1233
模板题,kruskal求最小生成树。 并查集是个好东西啊 就是注意一点 输入边的信息时,角标应该是从0开始的
代码:
#include<iostream>#include<algorithm>#include<cstdio>using namespace std;struct edge{ int u; int v; int w;};int p[100];edge e[5000];bool cmp(edge a,edge b){ return a.w<b.w;}int find(int x){ if(p[x]==x) return x; else { return p[x]=find(p[x]); }}int n,m;long long kruskal(){ for(int i=0;i<n;i++) p[i]=i; long long ans=0; for(int i=0;i<m;i++) { int x=find(e[i].u); int y=find(e[i].v); if(x!=y) { ans+=e[i].w; p[x]=y; } } return ans;}int main(){ while(cin>>n) { if(n==0) break; m=n*(n-1)/2; int a,b,c; for(int i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&c); e[i].u=a-1; e[i].v=b-1; e[i].w=c; } sort(e,e+m,cmp); cout<<kruskal()<<endl; }}
- hdu 1233 还是畅通工程 最小生成树Kruskal算法(并查集)
- hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
- HDU 1233 还是畅通工程 最小生成树Kruskal算法/并查集
- hdu 1233 还是畅通工程 (最小生成树,prim,优先队列,kruskal并查集)
- HDU 1233.还是畅通工程【最小生成树 kruskal算法(并查集)+prim算法】【1月8】
- hdu 1233 还是畅通工程(最小生成树Kruskal)
- HDU 1233 还是畅通工程(最小生成树Kruskal)
- HDU 1233 还是畅通工程 (最小生成树 Kruskal)
- HDU 1233 还是畅通工程(最小生成树kruskal)
- 【最小生成树】+【并查集】-HDU-1233-还是畅通工程
- HDU-1233 还是畅通工程(最小生成树&并查集)
- HDU--1233:还是畅通工程 (并查集 & 最小生成树Prim)
- HDU 1233 还是畅通工程 最小生成树K算法 并查集
- HDU 1233 还是畅通工程 (最小生成树、并查集)
- HDU-1863 畅通工程——并查集最小生成树Kruskal
- HDU1233--还是畅通工程--最小生成树--并查集
- 还是畅通工程(并查集+最小生成树)
- 还是畅通工程(最小生成树&&并查集)
- C++引用本质
- zoj2770解题报告(差分约束)
- android 常用时间格式转换代码
- VC++界面编程之--自定义标签控件(CStatic)皮肤
- UVa 100 The 3n + 1 problem
- hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
- JDK1.6官方下载_JDK6官方下载地址
- Who is lier?
- Excel 2007导入数据到SQL Server 2005
- Android入门笔记之BroadcastReceiver
- gcc 链接顺序
- OpenCV中遇到Microsoft C++ 异常 cv::Exception
- C++中指针和引用的区别
- 文件系统性能分析