【模板】并查集

主要函数

 Merge :合并两个并查集

 GetRoot :查询某个元素在哪个集合

 Query :查询两个元素是否属于同一集合

数据结构

 parent[i]=j :j是i的父节点

Code

 1 int parent[N];
 2 
 3 int GetRoot(int a)
 4 {
 5     if( parent[a] != a)
 6         parent[a] = GetRoot(parent[a]);
 7     return parent[a];
 8 }
 9 
10 
11 int Merge(int a,int b)
12 { //把b树根挂到a树根下
13     parent[GetRoot(b)] = GetRoot(a) ;
14 }
15 
16 bool Query(int a,int b)
17 {
18     return GetRoot(a) == GetRoot(b) ;
19 }

 

posted @ 2018-12-12 23:24  TobicYAL  阅读(151)  评论(0编辑  收藏  举报