并查集
CCSU_HelloWorld
来得很匆忙
展开
-
poj 2492 A Bug's Life
#include #include using namespace std;int set[2005], m[2005];int find(int x){ int t = x; while (set[t] != t) t = set[t]; while (set[x] != x) { int原创 2013-07-16 20:31:30 · 324 阅读 · 0 评论 -
并查集基础知识
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 主要操作: 初始化:把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。 查找:查找元素所在的集合,即根节点。 合并:将两个元素所在的集合合并为一个集合。通常来原创 2013-08-10 15:09:49 · 385 阅读 · 0 评论 -
并查集(食物链)
参考:http://blog.csdn.net/niushuai666/article/details/6981689#include #include using namespace std;#define maxn 50005struct Node{ int pre, re;}bin[maxn];int find(int x){ if (bin[x]原创 2013-08-27 17:34:13 · 423 阅读 · 0 评论 -
并查集快速查找区间没有被访问的节点
南阳理工http://acm.nyist.net/JudgeOnline/problem.php?pid=856 通过这个题目对并查集又有了一点新的认识,可以通过并查集实现快速查询区间内没有被访问的节点。初始化数组father并指向自己,每次要访问[L, R]区间的时候,father[i]都指向father[R+1],这样每次father[i]就都保存自己以后第一个没有访问的节点。原创 2013-10-24 20:22:53 · 572 阅读 · 0 评论