int p[maxn];
void init()
{
for(int i=0;i<maxn;i++)
p[i]=i;
}
int findset(int x)
{
return p[x]!=x?p[x]=findset(p[x]):x;
}
void join(int x,int y)
{
int a=findset(x);
int b=findset(y);
if(a!=b);
p[a]=b;
}
并查集
最新推荐文章于 2024-08-19 22:30:22 发布
int p[maxn];
void init()
{
for(int i=0;i<maxn;i++)
p[i]=i;
}
int findset(int x)
{
return p[x]!=x?p[x]=findset(p[x]):x;
}
void join(int x,int y)
{
int a=findset(x);
int b=findset(y);
if(a!=b);
p[a]=b;
}