初始化
for(int i=0;i<n;i++)
{
pre[i]=i;
}
查找
int find(int x)
{
if(x==pre[x])
return x;
return find(pre[x]);
}
合併
void merge(int x,int y)
{
int t1 = pre[x];
int t2=pre[y];
if(t1!=t2)
{
find(t2)=t1;
}
}
初始化
for(int i=0;i<n;i++)
{
pre[i]=i;
}
查找
int find(int x)
{
if(x==pre[x])
return x;
return find(pre[x]);
}
合併
void merge(int x,int y)
{
int t1 = pre[x];
int t2=pre[y];
if(t1!=t2)
{
find(t2)=t1;
}
}