文章

17

粉丝

0

获赞

119

访问

4.9k

头像
畅通工程2 题解:
P1319 浙江大学机试题
发布于2025年3月9日 22:08
阅读数 137

#include<iostream> 
#include<vector>
using namespace std;

class DSU{
private:
    vector<int> parent;
    vector<int> rank;
public:
    DSU(int n){
        parent.resize(n+1);
        rank.resize(n+1,1);
        for(int i = 1; i <= n; i++) parent[i] = i;
    }
    
    int find(int a){
        if(parent[a] != a) parent[a] = find(parent[a]);
        return parent[a];
    }
    
    void unite(int x, int y){
        int rootx = find(x);
        int rooty = find(y);
        if(rootx == rooty) return;
        if(rank[rootx] > rank...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发