zoukankan      html  css  js  c++  java
  • - > 并查集模板

     思路:在博客园里,有对并查集思路的详解,模板神马的只是饭后甜点;

        这儿有只野生模板君飘过,请各位OIer尽快捕捉 

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int n,m,x,y,fa[10000],v[10000],sum;
    int find(int x)
    {
        if(fa[x]!=x)    return fa[x]=find(fa[x]);
        else return fa[x];
    }
    int unionn(int r1,int r2)
    {
        fa[r2]=r1;
    }
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            fa[i]=i;
        for(int i=1;i<=n;i++)
        {
            cin>>x>>y;
            int r1=find(x);
            int r2=find(y);
            if(r1!=r2)
                unionn(r1,r2);
        }
        //操作 <1>:
        /*cin>>q;
        for(int i=1;i<=q;i++){
            cin>>a>>b;
            if(find(a)==find(b))    cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
        查询两个元素是否存在奇怪的关系(eg:子孙,上下级,徒孙······)。*/
        //操作 <2>: 
        /*for(int i=1;i<=n;i++)
            v[find(i)]++;
        for(int i=1;i<=n;i++){
            if(v[i]!=1){
                sum++;
            }
        }
        cout<<sum;
        统计不同集合的个数,并统计每个集合中元素的个数。*/
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    day9文件处理
    day8字符编码
    js小数乘法精确率问题
    webstorm上传vue代码至git
    vue项目关闭eslint检查
    MongoDB相关操作
    Redis持久化存储
    Redis 数据类型
    linux常用命令
    初识NoSQL
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/6297442.html
Copyright © 2011-2022 走看看