
并查集
chuyangzhanfang
一个与算法相爱相杀的计算机小弱鸡
展开
-
并查集(Union-Find Set)小结
做了几道并查集的题,在这里做一个小小的总结,以表达我对这个精简的数据结构的浅显的理解。。。先说说用途: 1、并查集,顾名思义分为并和查。 并:即:将两个完全不相交的集合合并为一个集合。 查:查询某个元素属于哪一个集合,一般用来判断两个元素是否属于同一集合。 2、目前我所接触到的它的实际用途: (1)、求解最小生成树(克鲁斯卡尔算法) (2)、判断图是否连通或是否有环 (3)、确定无向图原创 2016-04-03 16:14:01 · 438 阅读 · 0 评论 -
POJ 1611The Suspects
大致题意: n个学生分属m个团体,(0 < n <= 30000 ,0 <= m <= 500) 一个学生可以属于多个团体。一个学生疑似患病,则它所属的整个团体都疑似患病。已知:0号学生疑似患病,以及每个团体都由哪些学生构成,求一共有多少个学生疑似患病。 思路分析: 并查集的一个简单应用,利用并查集确定某一集合或者团体有多少元素(或个体)。在并查集板子的基础上再开一个total数组,用来记录当原创 2016-04-04 18:04:59 · 270 阅读 · 0 评论 -
HDU 1272小希的迷宫
思路分析: 即利用并查集来检查图是否连通以及图是否成环。 要想输出Yes,必须满足以下两个条件: (1)、该图的所有顶点均连通。 (2)、该图不得成环。 其余情况输出No即可。 注意该题的一个坑点:输入数据只有0 0时,输出Yes。贴代码:#include <algorithm> #include <cmath> #include <cstdio> #include <cstdlib>原创 2016-04-04 18:15:57 · 284 阅读 · 0 评论 -
HDU 1232畅通工程
题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 思路分析: 即利用并查集确定一共有几个集合,道路个数即为:集合总个数-1。贴代码:#include <algorithm> #include <cmath>原创 2016-04-04 18:28:23 · 255 阅读 · 0 评论