并查集模板

复制代码
int setfind(int xx)
{
    int fa=father[xx];
    if(fa==xx) return fa;
    else return father[xx]=setfind(fa);
}
void setunion(int xx,int yy)
{
    int X=setfind(xx);
    int Y=setfind(yy);
    if(X==Y) return;
    else if(val[X]>val[Y]) father[Y]=X;
    else father[X]=Y;
    if(val[X]==val[Y]) val[Y]++;
    return;
}
复制代码

 

posted @   MukoiAoi  阅读(122)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示