hdu1863 畅通工程(kruscal && 并查集)
来源:互联网 发布:网络直播平台排行榜 编辑:程序博客网 时间:2024/06/16 09:10
kruskal里的判断是否有环相当于并查集判断有环,都是选出的两个点若有相同的根则有环,所以并查集的模板也可以用;
判断是否有最小生成树只需在遍历判断根节点相同时顺便统计其个数,最后判断是否相同即可;
和并查集联系起来,以后脑中就用一个模板就好了~
#include <stdio.h>#include <cstdio>#include <cstring>#include <algorithm>#include <string>using namespace std;const int N = 5005;int pre0[N];int n, sum, num;struct edges{ int pre; int suc; int wei;}edge[N];int cmp(edges x, edges y){ return (x.wei < y.wei) ? 1 : 0;}void init(int vs){ for(int i = 1; i <= vs; i ++) pre0[i] = i;}int findd(int x){ int r = x; while(r != pre0[r]) r = pre0[r]; pre0[x] = r; int i = x, j; if(i != r) { j = pre0[i]; pre0[i] = r; i = j; } return r;}void Union(int x, int y, int z){ int f1, f2; f1 = findd(x); f2 = findd(y); if(f1 != f2) { pre0[f2] = f1; num ++; sum += z; }}int kruskal(int es, int vs){ num = 1; sum = 0; init(vs); sort(edge, edge + es, cmp); for(int i = 0; i < es; i ++) Union(edge[i].pre, edge[i].suc, edge[i].wei);// printf("%d %d %d\n", vs, num, sum); if(num == vs) return sum; else return -1;}int main(){ // freopen("in.txt", "r", stdin); int m, ans; while(~scanf("%d%d", &n, &m) && n) { for(int i = 0; i < n; i ++) scanf("%d%d%d", &edge[i].pre, &edge[i].suc, &edge[i].wei); ans = kruskal(n, m); if(ans == -1) printf("?\n"); else printf("%d\n", ans); } return 0;}
0 0
- hdu1863 畅通工程(kruscal && 并查集)
- HDU 1863 畅通工程(prim,kruscal,并查集)
- hdu1875 畅通工程再续(kruscal && 并查集)
- 杭电-1863 畅通工程(并查集+Kruscal)
- hdu1863 畅通工程 并查集+最小生成树
- 【HDU1863】畅通工程 (kruskal/并查集find)
- HDU1863畅通工程---并查集+最小生成树
- hdu1863——畅通工程(最小生成树)kruscal
- HDOJ 1233 还是畅通工程(并查集、kruscal算法 + prim)
- HDU1863 - 畅通工程 最小生成树的并查集方法实现
- hdu1863-畅通工程 最小生成树的并查集实现方法
- hdu1863-畅通工程 最小生成树的并查集实现方法
- (并查集入门)畅通工程
- 畅通工程(并查集解法)
- HDU1232_畅通工程(并查集)
- hdu1232 畅通工程(并查集)
- hdu1232 畅通工程(并查集)
- HDOJ1863畅通工程(并查集)
- symfony2中运行周期内执行的回调函数
- 适合新手动手实践的PHP搭配mysql的小项目--02实现注册页面
- 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
- 英寸 寸
- 关于Activity被回收
- hdu1863 畅通工程(kruscal && 并查集)
- 记不住就存下来---- HTML 5 新增的属性与元素 之 表单控件新增元素
- C中函数传递参数原理:值传递, 指针传递?
- 单向链表
- HDU4496(并查集)
- 一些图片
- __86__C#_Graphics_GDI图形编程基础
- Spark Standalone Mode安装配置
- 快过年了,回家该好好思考下人生