并查集模板

作者: codinRay | 来源:发表于2017-04-07 23:22 被阅读0次
int pre[MAXN];
int Find(int pos) {
    if (pre[pos] == pos) // pre是自己,代表为root节点
        return pos; 
    int r = pos; 
    while (r != pre[r]) // 找到节点pos的root
        r = pre[r];
    
    // 路径压缩
    int i = pos;
    while (i != r) { // 把沿路pos->root沿路的节点的root的pre
        //全部设置为root
        int t = pre[i];
        pre[i] = r;
        i = t;
    }
    return r;
}
void Union(int posX, int posY) { // 把两个节点的root设置为同一个
    int rootX = Find(posX), rootY = Find(posY);
    if (rootX != rootY)
        pre[rootX] = rootY;
}

相关文章

  • 模板

    并查集模板

  • LeetCode 分类刷题 —— Union Find

    Union Find 的 Tips: 灵活使用并查集的思想,熟练掌握并查集的模板,模板中有两种并查集的实现方式,一...

  • 并查集模板

    以PAT甲级1114为例,写了个并查集模板,记录下来。题目就不列了,感兴趣去官网找一下

  • 并查集模板

  • 并查集模板

  • 并查集模板

    并查集学习可查看网站[https://oi-wiki.org/ds/dsu/]

  • luogu P1551 亲戚(并查集入门)

    这是一个并查集模板。 说一下并查集,虽然我也是刚刚学会没几天。。。 并查集是个树形结构的数据结构,主要用于合并两个...

  • 并查集专题整理

    kuangbin专题 模板 关于并查集的一点心得 大家都说带权并查集的起点是食物链( POJ - 1182 ),但...

  • markdown学习

    #并查集 ##并查集的定义 ##并查集的操作

  • 并查集

    并查集在LeetCode周赛里面经常会用到,所以可以准备好模板以节省比赛做题时间。以下并查集类Python3实现修...

网友评论

    本文标题:并查集模板

    本文链接:https://www.haomeiwen.com/subject/uhvkattx.html