import java.util.Scanner;
public class 并查集 {
static int[] fa; // 数组的大小根据题目大小开,根据元素个数来
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
fa = new int[n + 1];
}
/**
* 初始化
*/
static void init() {
for (int i = 1; i < fa.length; i++) {
fa[i] = i;
}
}
/**
* 查询(路径压缩后) 必须有,否则爆时间
*/
static int findFa(int i) {
if (fa[i] == i) {// 递归出口,当到达了祖先位置,就返回祖先
return i;
} else {
fa[i] = findFa(fa[i]); // 该步进行了路径压缩
return fa[i];// 返回父节点
}
}
/**
* 合并
*/
static void union(int i, int j) {
int ifa = findFa(i);// 找到 i 的祖先
int jfa = findFa(j);// 找到 j 的祖先
fa[ifa] = jfa;// i 的祖先指向 j 的祖先
}
}
P3367 【模板】并查集 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)