並查集

初始化

for(int i=0;i<n;i++)
{
    pre[i]=i;
}

查找

int find(int x)
{
    if(x==pre[x])
        return x;
    return find(pre[x]);
}


合併

void merge(int x,int y)
{
int t1 = pre[x];
int t2=pre[y];
if(t1!=t2)
{
find(t2)=t1;
}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章