int pre[maxn];
int find(int x){
int r = x;
while(pre[r] != r)
r = pre[r];
int i = x, t;
while(i != r){
t = pre[i];
pre[i] = r;
i = t;
}
return r;
}
void join(int x, int y){
int fx = find(x), fy = find(y);
if(fx != fy)
pre[fx] = fy;
}
并查集模板(裸)
猜你喜欢
转载自blog.csdn.net/swunHJ/article/details/81265234
今日推荐
周排行