<span>并查集模版</span>

int pre[N];
int fnd(int x)
{
    int r=x;
    while(pre[r]!=r)
          r=pre[r];
    int i=x,j;
    while(i!=r)
    {
         j=pre[i];
         pre[i]=r;
         i=j;
    }
    return r;
}
void join(int x,int y)
{
    x=fnd(x),y=fnd(y);
    if(x!=y) pre[x]=y;
}

 

全部评论

相关推荐

03-03 14:35
莆田学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务