并查集

Posted g-xf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并查集相关的知识,希望对你有一定的参考价值。

并查集(Disjoint-Set)是一种可以动态维护若干不重叠集合,并支持合并与查询的数据结构。

代码实现:

int par[maxn];  //存储
void init()

    for(int i=1;i<=n;i++) par[i]=i;  //初始化

int get(int x)

    if(x==par[x]) return x;
    return par[x]=get(par[x]);  //路径压缩,直连树根

void Merge(int x,int y)

    pa[get(x)]=get(y);  //x的树根作为y的根

 

以上是关于并查集的主要内容,如果未能解决你的问题,请参考以下文章

数据结构----并查集

LibreOJ #109. 并查集

数据结构--并查集

数据结构--并查集

数据结构----并查集

数据结构----并查集