/*Name: hdu1863畅通工程 Author: Try86Date: 10/04/12 12:43Description: 最小生成树(kruskal)
*/
#include <cstdio>
#include <iostream>using namespace std;const int M = 5050;int p[M], sum; //sum统计顶点个数
struct edge {int a;int b;int w;
}e[M];int cmp(const void *a, const void *b) {return (*(edge *)a).w - (*(edge *)b).w;
} void init(int vs) {for (int i=1; i<=vs; ++i) p[i] = i;return ;
}int find(int v) {if (p[v] != v) p[v] = find(p[v]);return p[v];
}int join(edge e) {int x, y;x = find(e.a);y = find(e.b);if (x != y) {++sum;p[x] = y;return e.w;}return 0;
}int kruskal(int es, int vs) {int ans = 0;init(vs);qsort(e, es, sizeof(edge), cmp);for (int i=0; i<es; ++i) {ans += join(e[i]);if (sum == vs) return ans;}if (sum < vs) return -1;
}int main() {int n, m;while (scanf("%d%d", &n, &m), n) {sum = 1;for (int i=0; i<n; ++i) scanf ("%d%d%d", &e[i].a, &e[i].b, &e[i].w);int ans = kruskal(n, m);if (ans == -1) printf ("?\n");else printf ("%d\n", ans);}return 0;
}

转载于:https://www.cnblogs.com/try86/archive/2012/04/10/2440366.html

hdu 1863(最小生成树kruskal)相关推荐

  1. hdu 1162(最小生成树kruskal)

    /*Name: 最小生成树(kruskal) Author: Date: 10/04/12 19:17 */#include <math.h> #include <cstdio> ...

  2. HDOJ 1863畅通工程(最小生成树kruskal算法并查集实现)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1863 最小生成树kruskal算法:http://www.zhuoda.org/irini/78592.h ...

  3. 畅通工程 hdu 1232 HDU - 1863 (并查集+最小生成树)

    畅通工程hdu 1232 并查集 Problem Description Input Output 参考代码 HDU - 1863 Problem Description Input Output 参 ...

  4. 图的最小生成树-Kruskal算法

    问题引入 [问题描述] 编写程序,利用带权无向图的邻接矩阵存储,实现图的最小生成树Kruskal算法. [输入形式] 输入图的顶点序列及图的边的情况.如样例所示.边的输入以输入-1,-1,-1作为结束 ...

  5. 【老生谈算法】matlab实现Kruskal避圈算法求最小生成树——Kruskal避圈算法

    基于MATLAB的Kruskal避圈算法求最小生成树 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于MATLAB的Kruskal避 ...

  6. 最小生成树kruskal算法

    最小生成树kruskal算法 概述 算法分析 代码 概述 克鲁斯卡尔(Kruskal)(Kruskal)(Kruskal)算法是求连通网的最小生成树的另一种方法.与普里姆(Prim)(Prim)(Pr ...

  7. 实现最小生成树Kruskal算法(附完整代码)

    实现最小生成树Kruskal算法(附完整代码) Kruskal算法是一种常见的计算最小生成树的算法.它的主要思想是将所有的边按照权值从小到大进行排序,并逐个加入到生成树中,如果加入后不会形成环,则保留 ...

  8. HDU 1863 畅通工程 最小生成树

    思路: 比较典型的最小生成树的题目了..在这里用求最小生成树的经典算法K(Kruskal)算法和P(Prim)算法.我的 K 算法用的是结构体来存图,P 算法用的是邻接矩阵来存图,K算法的复杂度是O( ...

  9. 【HDU - 1863】 畅通工程(并查集+最小生成树)

    题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...

最新文章

  1. 个推无法获取个推id_最新个推Android 推送 SDK Maven 集成
  2. LNMP_ 配置文件
  3. switch( )的经典引用
  4. profile based recommendation system
  5. Thymeleaf 简介、教程
  6. 手把手教你搭建LyncServer2013之发布Office Web App服务器(十二)
  7. android异步任务框架,详解Android App中的AsyncTask异步任务执行方式
  8. 详细解析Photoshop10个必学的抠图技巧
  9. SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能)
  10. RGB-D、TOF深度相机的原理
  11. 投机者怎样于2019年3月18日前后的证券市场中利用底部放量实现程序化交易
  12. Spring Gateway静态文件路由
  13. 统计学习(三):分类
  14. 如何提高Alexa排名
  15. P2550数组彩票摇奖
  16. 广东省学计算机那间技校好,广东哪个技校最好?广东这边哪些技校好?
  17. 嵌入式软件工程师经典面试题(附答案)(二)
  18. stm32 hal串口中断分析
  19. L1-069 胎压监测
  20. 如何与不同的人进行高效的沟通?

热门文章

  1. 电脑:电脑弹窗广告三个解决方法,欢迎收藏!
  2. 程序高手和菜鸟的区别是什么?
  3. ES6 Map和Set的用法笔记
  4. readkeyboard方法_Linux笔记(12)| 几种并发式IO的实现方法
  5. STM32F1 GPIO工作原理初探
  6. ux设计中的各种地图_UX设计中的空白
  7. VS2010 VC Project的default Include设置
  8. vue-cli3插件初体验
  9. 【2.0】SpringBoot连接MySql 8.0的url设置
  10. 阿里数据库内核月报:2017年04月