day56

并查集模板:
//把并查集的模板函数写好,后面直接调用即可
int n;//结点数量(n取题目给出的最大值+1)
vector<int> father = vector<int>(n, 0);
//初始化
void init(){
    for(int i = 0; i < n; i++){
        father[i] = i;//根节点都初始化为自己
    }
}
//寻根
int find(int u){
    return u == father[u] ? u : father[u] = find(father[u]);//路径压缩
}
//判断是否为同一个根
bool isSame(int u, int v){
    u = find(u);
    v = find(v);//这样寻根的同时,也在进行路径压缩
    return u == v;
}
//将两个元素加入一个集合
void join(int u, int v){
    u = find(u);
    v = find(v);
    if(u == v) return;
    father[v] = u;
}
全部评论

相关推荐

05-16 21:54
已编辑
门头沟学院 前端工程师
蓝曦111:我也是25届,这是第二次被裁了,毕业没到一年就失业两次,两次都是公司问题。第一家才转正一个月,跟我说公司拿不到项目结款没办法,赔了一个月;第二个公司连工资都发不出来了,赔偿更别想了,我算是认命了,这条路也不知道能走多远走多久,不过生活还是要继续的,走一步看一步吧
当你面对裁员会如何?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务