Disjoint-set - Template

 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 is  {
 14      IF (FA [A] = A) FA [A] =! findfa (FA [A]);
 15      return FA [A];
 16 } // find the ancestral node 
. 17  void Unión ( int A, int B)
 18 is  {
 . 19      int FAA = findfa (A);
 20 is      int Fab = findfa (B);
 21 is      IF (FAA =! Fab) {
 22 is          FA [FAA] = Fab;
 23 is      }
 24 } // Unicom two nodes fathers node 
25  int main ()
26 { 
27     
28 }

 

Guess you like

Origin www.cnblogs.com/-happy-/p/12272979.html