主要是看了这篇文章http://www.geeksforgeeks.org/union-find/总结下目前理解的Union-Find用在disjoint-set data structure上,disjoint-set keeps track of a set of elements partit...
分类:
其他好文 时间:
2015-09-29 06:38:18
阅读次数:
178
Quick Find:适用于search频繁的情况每个节点有一个id值,id相同表示两个节点相连通。在union时要将等于某一个id值都改成另一个id值Quick Union:适用于union频繁的情况每个节点有一个id值,id值表示该节点连接的那个节点的下标;每个节点有一个root值,root(i...
分类:
其他好文 时间:
2015-09-28 11:37:13
阅读次数:
135
对Union Find算法不熟悉,可参看 http://blog.csdn.net/dm_vincent/article/details/7655764 http://blog.csdn.net/dm_vincent/article/details/7769159 个人觉得该博文阐述非常通俗易懂,第...
分类:
编程语言 时间:
2015-09-24 10:45:29
阅读次数:
186
此题最难处理的操作就是将一个单点改变集合,而普通的并查集是不支持这种操作的。当结点p是叶子结点的时候,直接pa[p] = root(q)是可以的,p没有子结点,这个操作对其它结点不会造成任何影响,而当p是父结点的时候这种操作会破坏子节点的路径,因此必须保留原来的路径。我们希望pa[p] = root...
分类:
其他好文 时间:
2015-09-08 00:19:48
阅读次数:
178
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。
使用并查集时,首先会存在一组不相交的动态集合 $S = \left\{ {{S_1},{S_2}, \cdots ,{S_k}} \rig...
分类:
其他好文 时间:
2015-08-31 23:53:36
阅读次数:
353
并查集:(union-find sets)
一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。
并查集的精髓(即它的三种操作,结合实现代码模板进行理解):
1、MakeSet(x) 把每一个元素初始化为一个集合
初始化后每一个元素的父亲节点是它本...
分类:
其他好文 时间:
2015-08-28 21:30:51
阅读次数:
179
Almost Union-Find
Time Limit: 1000MS
Memory Limit: Unknown
64bit IO Format: %lld & %llu
Submit Status
Description
Problem A
Almost Union-Find
I hope you k...
分类:
其他好文 时间:
2015-08-26 17:59:29
阅读次数:
165
就是比普通的并查集多了个删除操作,显然叶子节点容易删,问题在于可能删根节点。
既然叶子节点容易,我们就把所有的点都变成叶子。我是多开了n个虚拟节点。
(因为我的集合合并是直接连两个根,所以那些有效节点的父亲肯定一直是虚拟节点,所以删除的时候只要考虑一个点就行....其实我是后来才发现,这算是水过吗 QAQ)...
分类:
其他好文 时间:
2015-08-16 19:49:49
阅读次数:
90
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18692
题意:设计一个并查集,支持三种操作①将两个集合合并②将一个集合的一个元素移到另外一个集合③查询集合元素个数和元素之和
分析:由于操作②可能导致将整个集合移走(移走根节点),那么初始化的时候,以id+N为根节点就好了。
代码:
#include
#inc...
分类:
其他好文 时间:
2015-08-06 11:14:34
阅读次数:
110
原文戳这与以往的并查集不同,这次需要一个删除操作。如果是叶子节点还好,直接修改父亲指针就好。但是如果要是移动根节点,指向它的所有子节点也会跟着变化。所以要增加一个永远不会被修改的虚拟根节点,这样就可以把一个点从集合中删除而不影响其它的点了。 1 #include 2 #include 3 #in.....
分类:
其他好文 时间:
2015-08-02 23:08:08
阅读次数:
194