首页 > 其他分享 >8/5并查集

8/5并查集

时间:2023-08-05 15:11:47浏览次数:31  
标签:parent int 查集 fbb xx faa

#include<bits/stdc++.h>
using namespace std;

int n,m;
int parent[1000005];

void init(int n){
    for(int i=1; i<=n; i++){
        parent[i]=i;
    } 
}

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


int main(){
    bool b[1000005];
    memset(b,false,sizeof(b));
    int s[1000005];
    memset(s,0,sizeof(s));
    int xx,yy;
    cin>>n>>m;
    init(n);
    for(int i=1; i<=m; i++){
        cin>>xx>>yy;
        int faa=find(xx);
        int fbb=find(yy);
        if(faa!=fbb)
            parent[faa]=fbb;
    }
    for(int i=1; i<=n; i++){
        s[find(i)]++;
    }
    
    sort(s+1,s+n+1);
    
    cout<<s[n]<<endl;
    return 0;
}

 

标签:parent,int,查集,fbb,xx,faa
From: https://www.cnblogs.com/dxy09tj/p/17607981.html

相关文章

  • 并查集
    亲戚(数据加强)#include<bits/stdc++.h>usingnamespacestd;intparent[500001];intn,m,p;intfind(intx)//查{ if(parent[x]==x)returnx; else{ parent[x]=find(parent[x]); returnparent[x]; }}voidmerge(inti,intj)//并{ parent[find(j)]=find(i);......
  • P2391 白雪皑皑(并查集)
    P2391白雪皑皑(并查集)https://www.luogu.com.cn/problem/P2391题目背景“柴门闻犬吠,风雪夜归人”,冬天,不期而至。千里冰封,万里雪飘。空中刮起了鸭毛大雪。雪花纷纷,降落人间。美能量星球(pty在spore上的一个殖民地)上的人们被这美景所震撼。但是pty却不高兴,他不喜欢白色的世......
  • 并查集
    一般用于合并集合并查找集合1intfind(intx){//查找x的祖先2if(pre[x]==x)returnx;3returnpre[x]=find(pre[x]);//压缩路径4}5voidjoin(intx,inty){6intfx=find(x),fy=find(y);//查找这两个数的祖先7if(fx!=fy)pre[......
  • 闲置资源优化,轻松检查集群中的空闲成本
    作者:梁成昊(景祁)前言Kubernetes提供了对计算、网络、存储资源的抽象,提升了集群资源管理的效率。然而,由于用户不需要直接管理底层资源,可能导致部分闲置资源未及时发现,造成成本浪费。在企业IT成本治理过程中,如何发现并处理这部分资源,是成本优化的重要环节。为解决上述问题,阿里......
  • [并查集] 题单刷题摘要
    题单1.P6121[USACO16OPEN]ClosingtheFarmGP3144[USACO16OPEN]ClosingtheFarmS(逊版)思路\(\scr{Solution}\)每一时刻关闭农场,求是否全联通。也就是维护将单个集合分成多个集合。很容易想到爆搜算法,用vector邻接表建图,每次跑完图就将当前点的连边关系删去。复杂度......
  • luogu P3733 [HAOI2017] 八纵八横 题解【线段树分治+线性基+可撤销并查集+bitset】
    目录题目大意解题思路code题目大意题目链接给出一张\(n\)个点\(m\)条边的连通无向图,边带边权\(w_i\)。有以下三种操作,共\(q\)次:\(\centerdot\)在点\(x,y\)之间加入一条边权为\(w_i\)的边,如果这是第\(i\)个此种操作,则记这条新边为第\(i\)条。\(\centerdot\)将第\(k......
  • 并查集优化 - 按大小合并时间复杂度证明
    并查集优化-按大小合并时间复杂度证明if(sz[b[x]].size()>sz[b[y]].size())swap(x,y);对于每个元素,当它当前所在的集合中,需要有其它大于该集合大小的集合,才会被遍历如果元素在一个大小\(1\)的集合中,会转移到大小\(2\)的集合中如果元素在一个大小\(2\)的集合中,会......
  • 并查集
    简述并查集其实是一个很有用的算法(至少我是这么认为的),很简单,代码也很好写,今天突然想写一下并查集。直接讲并查集不太好说,我们先看下面这一道题:洛谷P3367【模板】并查集【模板】并查集题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入格式第一行包含两个整数......
  • 超市-并查集应用
    【超市】【问题描述】超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品,过期商品(即当天di<=0)不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。【输入格式】输入包含多组测试用例,测试用例最多30组。每组测试用例,以输入整数N开始,接下里输......
  • 并查集-讲课内容补全(未完
    施工中......先在这里给出我的并查集模板以下为比较常用的路径压缩intf[MAXN],n,m;voidclean(){for(inti=1;i<=n;i++)f[i]=i;}intfind(intx){if(x!=f[x])f[x]=find(f[x]);returnf[x];}voidadd(intx,inty){intfx=find(x),fy=find(y......