![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
文章平均质量分 91
Moressette
ACMer
展开
-
并查集的介绍及实现
所谓并查集,就是一种用来管理元素分组情况的数据结构。并查集一共有两种操作: 第一种操作:查询元素a和元素b是否属于同一组 第二种操作:合并元素a和元素b所在的组 正是因为刚好有这两种操作,所以这种数据结构叫做并查集。并查集也是使用数据结构实现的,不过不是二叉树。 对于并查集来说,哪个结点是哪个结点的父亲,以及树的形状等信息无需关注,整体形成一个树形结构才是最重要的。 并查集之所以高效的原原创 2015-08-02 10:47:49 · 308 阅读 · 0 评论 -
HDU 1232 畅通工程 并查集
这道题应该就是并查集的最基础的应用了。理解题意以及并查集基本函数的功能就可以写出代码了。 不知道并查集是什么的小伙伴推荐看一下我的上一篇介绍并查集的文章 并查集的介绍及实现 这道题其实就是让我们根据连通性,求一下有几个连通分支,至于需要修多少条路,当然是连通分支数-1了。 代码也比较好理解,在初始化之后,每输入两个点就合并一下,合并之后,再依次查找,当查找到父节点为自己的结点个数,也就是根节原创 2015-08-02 10:54:54 · 304 阅读 · 0 评论 -
HDU 1272 小希的迷宫 并查集
虽然是一道比较简单的并查集应用。但是这道题需要注意的东西不少。首先要注意输入格式。 这道题主要就是判断一个无向图: 1、是不是连通图(也就是说连通分支数为1) 2、是否无环(其实就是输入的两个点是否有公共父节点,如果有公共父节点则说明这两个点肯定成环) 这道题不需要开rank[]数组,但是需要开一个visit[]来判断当前结点是否出现过。 题目传送门:小希的迷宫 HDU 1272原创 2015-08-03 10:30:41 · 289 阅读 · 0 评论 -
HDU 5326 Work 并查集 (2015 Multi-University Training Contest 3 2015多校联合)
-_- 好吧我不得不承认这道题是签到题。 题目连接:work 这道题方法很多,可以用dfs等等,我是用并查集做的。思路很简单,就是求深度为n的结点个数。 看着代码自己感悟吧。~ #include #include #include #include #include using namespace std; int pre[105]; int t[105]; void find原创 2015-07-29 09:07:20 · 436 阅读 · 0 评论