并查集--模板

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn = 100000+10;
 5 int fa[maxn];
 6 void init(int n)//初始化 
 7 {
 8     for(int i=1;i<=n;i++){
 9         fa[i]=i;
10     }
11 }
12 int findfa(int a)
13 {
14     if(fa[a]!=a) fa[a]=findfa(fa[a]);
15     return fa[a];
16 }//寻找祖宗节点 
17 void unionn(int a,int b)
18 {
19     int faa=findfa(a);
20     int fab=findfa(b);
21     if(faa!=fab){
22         fa[faa]=fab;
23     }
24 }//联通两个节点的祖宗节点 
25 int main()
26 { 
27     
28 }
原文地址:https://www.cnblogs.com/-happy-/p/12272979.html