const int N = 1000010;
int f[N];
void init_set(int n){
for(int i = 1;i<=n;i++) f[i] = i;
}
int find_set(int x){
if(f[x] != x) f[x] = find_set(f[x]);
return f[x];
}
void merge_set(int x,int y){
x = find_set(x),y = find_set(y);
if(x != y) f[x] = y;
}
并查集(模板)
于 2022-02-28 20:17:25 首次发布