普通并查集操作
主要代码就三行
//初始化
for(int i=0;i<n;++i)f[i]=i;
//查
static int findd(int x)
{
return (x==f[x])?x:(f[x]=findd(f[x]));
}
或者:
static int find(int x)
{
if(x!=f[x])f[x]=find(f[x]);
return f[x];
}
//并
static void unionn(int x,int y)
{
f[findd(x)]=findd(y);
}