const int maxn=100000;
int fa[maxn],siz[maxn];
int Find(int x) {
if(fa[x]==x)
return x;
return fa[x]=Find(fa[x]);
}
void Union(int u,int v) {
u=Find(u);
v=Find(v);
if(siz[u]>siz[v])
swap(u,v);
fa[u]=v;
siz[v]+=siz[u];
}
这是CCF出的书里给的并查集(路径压缩技术)的参考代码
其中合并操作(Union)为什么和大家写的不一样??
蒟蒻求助