int n;
int p[MAX_N];
void init() {
for (int i = 1; i <= n; i++) {
p[i] = i;
}
}
int find(int x) {
return x == p[x] ? x : p[x] = find(p[x]);
}
void unine(int x, int y) {
x = find(x), y = find(y);
if(x > y) swap(x, y);
p[y] = x;
}
并查集(DSU)模板
最新推荐文章于 2024-07-10 16:47:58 发布
![](https://img-home.csdnimg.cn/images/20240709112858.png)