题目传送门

  1. /*
  2. 并查集(Union-Find)裸题
  3. 并查集三个函数:初始化Init,寻找根节点Find,连通Union
  4. 考察:连通边数问题
  5. */
  6. #include <cstdio>
  7. #include <algorithm>
  8. #include <cstring>
  9. #include <cmath>
  10. using namespace std;
  11. const int MAX_N = + ;
  12. int pre[MAX_N];
  13. int tot;
  14. int find(int root)
  15. {
  16. int son, tmp;
  17. son = root;
  18. while (root != pre[root])
  19. {
  20. root = pre[root];
  21. }
  22. while (son != root) //路径压缩 非递归版
  23. {
  24. tmp = pre[son];
  25. pre[son] = root;
  26. son = tmp;
  27. }
  28. return root;
  29. }
  30. void joint(int root1, int root2)
  31. {
  32. int x, y;
  33. x = find (root1);
  34. y = find (root2);
  35. if (x != y)
  36. {
  37. pre[x] = y;
  38. tot--; //连通一条少一条边
  39. }
  40. }
  41. int main(void) //HDOJ 1232 畅通工程
  42. {
  43. //freopen ("inA.txt", "r", stdin);
  44. int n, m;
  45. int x, y;
  46. while (~scanf ("%d%d", &n, &m) && n)
  47. {
  48. for (int i=; i<=n; ++i)
  49. {
  50. pre[i] = i;
  51. }
  52. tot = n - ; //tot 记录边 (n个顶点有n-1条边)
  53. while (m--)
  54. {
  55. scanf ("%d%d", &x, &y);
  56. joint (x, y);
  57. }
  58. printf ("%d\n", tot); //还有几条边(路)没有连通
  59. }
  60. return ;
  61. }

并查集 HDOJ 1232 畅通工程的更多相关文章

  1. 并查集专题: HDU1232畅通工程

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. 转:并查集总结 例题:hdoj 1232 畅通工程

    引述之类的就免了,我们现在做题碰到的并查集基础题目大都是连通城市(或者村庄学校),接下来我们就称每一个城市为一个元素.我们解决此类题目运用的是树结构,每个集合用一棵树表示,而树的节点用于存储集合中的元 ...

  3. Hdoj 1232.畅通工程 题解

    Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...

  4. 并查集_HDU 1232_畅通工程

    某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可). ...

  5. 傻子都能懂的并查集题解——HDU1232畅通工程

    原题内容: Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都 ...

  6. hdu 1232 畅通工程(并查集算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others)    M ...

  7. HDU 1232 畅通工程(道路连接)(裸并查集)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others)     ...

  8. Kruskal HDOJ 1863 畅通工程

    题目传送门 /* 此题为:HDOJ 1233 + HDOJ 1232 */ #include <cstdio> #include <algorithm> #include &l ...

  9. HDU 1232 畅通工程(模板——并查集)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1232 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出 ...

随机推荐

  1. hadoop报JAVA_HOME is not set暂时解决办法

    直接在etc/hadoop/hadoop-env.sh中 export JAVA_HOME=XXX

  2. Ruby map、each、select、inject、collect 、detect reference

    参考 https://ruby-china.org/topics/26718 map:(collect是map的别名函数) 对数组中每个元素进行表达式操作,原始数组不会被改变,返回执行表达式结果的新数 ...

  3. 关于android的DB操作

    package com.metoo.girls; import android.content.ContentValues; import android.content.Context; impor ...

  4. JS点击查看更多内容 控制段落文字展开折叠

    JavaScript+jQuery实现的文字展开折叠效果,点击文字后文字内容会完整的显示出来,控制段落来显示文字,不需要的时候,可以再次点击后将内容折叠起来,也就是隐藏了一部分内容.点击查看更多的功能 ...

  5. poj 1724 ROADS 解题报告

    题目链接:http://poj.org/problem?id=1724 题目意思:给出一个含有N个点(编号从1~N).R条边的有向图.Bob 有 K 那么多的金钱,需要找一条从顶点1到顶点N的路径(每 ...

  6. silverlight 使用IValueConverter 转换

    在绑定数据中 有时候我们需要转换相关数据类型 silverlight提供了一个System.Windows.Data.IValueConverter接口它提供两个方法 Convert和ConvertB ...

  7. java回调机制及其实现

    1. 什么是回调函数 回调函数,顾名思义,用于回调的函数.回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数.回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机.回调 ...

  8. java中匹配中文的正则表达式

    java中要匹配中文的正则表达式可以有两种写法:一是使用unicode中文码:二是直接使用汉字字符: 例: (1)String str = "晴"; String regexStr ...

  9. hdu-3592 World Exhibition(差分约束)

    题目链接: World Exhibition Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/ ...

  10. bzoj 2836 魔法树 —— 树链剖分

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2836 树链剖分裸题: 写码五分钟,调码两小时,RE不断,狂交二十五遍,终于找到一处小细节—— ...