1の#include <ビット/ STDC ++ H>
2 使用して 名前空間STDを、
3 typedefの長い 長いLL。
4 CONST INT MAXN = 100000 + 10 。
5 INT FA [MAXN]。
6 ボイドのinit(int型 N)// 初始化
7 {
8 のための(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 リターンFA [A];
16 } //は先祖ノードを見つける
。17 空隙連合(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 (主に)
26 {
27
28 }