并查集
初始化
即最开始让每个数的父节点为自己
for(i=1;i<=N;i++)
{
fa[i]=i;
}
find函数
寻找这个数据的祖先
int find(int x)
{
if(fa[x]==x)
return fa[x]=x;
else
return fa[x]=find(fa[x]);
}
join函数
将两个数并为同一个祖先
void join(int x,int y)
{
if(find(x)!=find(y))
{
fa[find(x)]=find(y);
}
}

浙公网安备 33010602011771号