【最小生成树】+【并查集】-HDU-1233-还是畅通工程
来源:互联网 发布:大数据 项目需求分析 编辑:程序博客网 时间:2024/05/29 07:06
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233点击打开链接
题目描述:
还是最小生成树的问题,输出能让村村相通的最小修路总长度。
解题思路:
和那个卡车编号几乎一样,kruscal算法解决。因为有了经验,这次1A了。
AC代码:
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef struct Line{ int u; int v; int w;};const int MAXN=110;int arr[MAXN];Line lines[MAXN*MAXN/2];bool cmp(Line a,Line b){ return a.w<b.w;}int find_father(int x){ return x==arr[x]?x:arr[x]=find_father(arr[x]);}int main(){ //freopen("hdu1233.txt","r",stdin); int n,i,ans; while(scanf("%d",&n),n) { int nn=n*(n-1)/2; memset(lines,0,sizeof(lines)); ans=0; for(i=0;i<MAXN;i++) arr[i]=i; for(i=0;i<nn;i++) { scanf("%d%d%d",&lines[i].u,&lines[i].v,&lines[i].w); } sort(lines,lines+nn,cmp); for(i=0;i<nn;i++) { int fu=find_father(lines[i].u); int fv=find_father(lines[i].v); if(fv!=fu) { arr[fv]=fu; ans+=lines[i].w; } } printf("%d\n",ans); }}
AC截图:
0 0
- hdu 1233 还是畅通工程 最小生成树Kruskal算法(并查集)
- hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
- 【最小生成树】+【并查集】-HDU-1233-还是畅通工程
- HDU-1233 还是畅通工程(最小生成树&并查集)
- HDU 1233 还是畅通工程 最小生成树Kruskal算法/并查集
- HDU--1233:还是畅通工程 (并查集 & 最小生成树Prim)
- HDU 1233 还是畅通工程 最小生成树K算法 并查集
- hdu 1233 还是畅通工程 (最小生成树,prim,优先队列,kruskal并查集)
- HDU 1233 还是畅通工程 (最小生成树、并查集)
- HDU1233--还是畅通工程--最小生成树--并查集
- 还是畅通工程(并查集+最小生成树)
- 还是畅通工程(最小生成树&&并查集)
- 还是畅通工程--最小生成树+并查集
- HDU 1233 还是畅通工程 (很简单的并查集&&最小生成数)
- hdu 1233(还是畅通工程)(prime算法,克鲁斯卡尔算法)(并查集,最小生成树)
- hdu 1232 畅通工程 并查集 最小生成树
- hdu 1863 畅通工程 (并查集+最小生成树)
- HDU 1233.还是畅通工程【最小生成树 kruskal算法(并查集)+prim算法】【1月8】
- 如何在MyEclipse中建立sql文件,并执行语句?
- C#之简单工厂模式与多态性
- 负反馈增强软件系统的稳定性
- sqlserver函数 出生日期转年龄
- InstallShield技术FAQ(2)
- 【最小生成树】+【并查集】-HDU-1233-还是畅通工程
- QuickFIX/N入门
- 【JavaScript学习记录】JavaScript中的类
- Hdu 3234 & Uva 12232 Exclusive-OR
- linux 基本命令
- 软件开发文档分类以及和软件生命周期的关系
- 子墨对酒《三国杀》里论模式(一)工厂模式
- redis备忘
- 电脑内存常见问题处理方法