美文网首页
并查集模板

并查集模板

作者: 有事没事扯扯淡 | 来源:发表于2021-01-13 15:36 被阅读0次

并查集学习可查看网站

class Djset {
public:
    vector<int> parent;  // 记录节点的根
    vector<int> rank;  // 记录根节点的深度(用于优化)
    Djset(int n): parent(vector<int>(n)), rank(vector<int>(n)) {
        for (int i = 0; i < n; i++) {
            parent[i] = i;
        }
    }

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

    bool merge(int x, int y) {
        int rootx = find(x);
        int rooty = find(y);
        if (rootx != rooty) {
            if (rank[rootx] < rank[rooty]) {
                swap(rootx, rooty);
            }
            parent[rooty] = rootx;
            if (rank[rootx] == rank[rooty]) rank[rootx] += 1;
            return false; // 根节点不同,返回false
        }
        // 根节点相同,返回true
        return true;
    }
};

相关文章

  • 模板

    并查集模板

  • 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/ntouaktx.html