最小生成树 克丽丝卡尔算法 hdu1879 继续畅通工程
来源:互联网 发布:海外破解wifi软件 编辑:程序博客网 时间:2024/06/05 01:16
克丽丝卡尔算法的主要思想是将两点之间的距离排序,。,,然后从小到大依此用并查集判断这条边是不是构成环,,若不是环就能就能用上。。。。
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1879
#include<stdio.h>#include<string.h>#include<algorithm>#define max 100000int n,zx[101];struct node{int a,b;int len;}st[5000];bool cmp(struct node t1,struct node t2){return t1.len <t2.len;}void in(){for(int i=1;i<=n;i++)zx[i]=i;}int find(int a){return zx[a]==a?zx[a]:zx[a]=find(zx[a]);}void hb(int a,int b){int x=find(a);int y=find(b);if(x!=y)zx[x]=y;}int kris(){int i,a,b,c,sum=0;for(i=0;i<n*(n-1)/2;i++){a=st[i].a;b=st[i].b;c=st[i].len;if(find(a)!=find(b)){hb(a,b);sum+=c;}}return sum;}int main(){while(scanf("%d",&n)&&n){int a,c,b,s;in();for(int i=0;i<n*(n-1)/2;i++){scanf("%d%d%d",&a,&b,&c);st[i].a=a;st[i].b=b;st[i].len=c;}std::sort(st,st+n*(n-1)/2,cmp);s=kris();printf("%d\n",s);}}
- 最小生成树 克丽丝卡尔算法 hdu1879 继续畅通工程
- hdu1879继续畅通工程 最小生成树prim算法
- hdu1879继续畅通工程 最小生成树prim算法
- hdu1879 继续畅通工程 (最小生成树之prim 算法)
- Hdu1879 - 继续畅通工程 - 最小生成树
- hdu1879 继续畅通工程 最小生成树
- hdu1879 继续畅通工程(最小生成树)
- HDU1879 继续畅通工程 【最小生成树Prim】
- hdu1879(Kruskal最小生成树)--继续畅通工程
- hdu1879 继续畅通工程(最小生成树、 并查集)
- hdu1879 继续畅通工程(最小生成树)
- hdu1879 继续畅通工程 (kruskal求最小生成树)
- HDU1879 继续畅通工程 【图论】【最小生成树】【Kruskal】
- ACM-最小生成树之继续畅通工程——hdu1879
- HDU1879 继续畅通工程(Prim算法)
- hdu1879继续畅通工程
- HDU1879继续畅通工程
- HDU1879--继续畅通工程
- (翻译)Android属性系统
- ubuntu下 qt+opencv 配置
- Oracle UTL_FILE的使用
- JavaMail发送邮件
- 用 Rsync 软件搭建备份系统
- 最小生成树 克丽丝卡尔算法 hdu1879 继续畅通工程
- C#开发之Dictionary泛型的使用
- linux下编译php中configure参数具体含义
- Android标题栏进度条
- 如何将误删的文件找回来
- 我竟贪婪
- 使用VS2008开发MFC,如何支持中文输入?
- 线段树离散化(对于数据庞大,超时,超内存时)
- [转]2012年6月第39届全球超级计算机TOP500部分名单