zoukankan      html  css  js  c++  java
  • uva 11987 Almost Union-Find (并检查集合)

    标题效果:

    三操作。

    1. 合并两个集合

    2.代替所述第二组的第一个元素

    3.输出设置数量,并。。


    IDEAS:

    使用p该元素的记录数,其中集合,建立并查集。


    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    
    using namespace std;
    typedef long long LL;
    int set[111111];
    int cnt[111111];
    LL sum[111111];
    int p[111111];
    
    int find(int x)
    {
        if(x!=set[x])
        set[x]=find(set[x]);
        return set[x];
    }
    int main()
    {
        int n,m;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            for(int i=1;i<=n;i++)set[i]=i,cnt[i]=1,sum[i]=i,p[i]=i;
    
            while(m--)
            {
                int op;
                scanf("%d",&op);
                int l,r;
                if(op==1)
                {
                    scanf("%d%d",&l,&r);
                    int xx=find(p[l]);
                    int yy=find(p[r]);
                    if(xx==yy)continue;
                    else
                    {
                        set[xx]=yy;
    
                        cnt[yy]+=cnt[xx];
                        sum[yy]+=sum[xx];
                    }
                }
                else if(op==2)
                {
                    scanf("%d%d",&l,&r);
                    int xx=find(p[l]);
                    int yy=find(p[r]);
                    if(xx==yy)continue;
                    else {
                        sum[xx]-=l;
                        cnt[xx]--;
                        sum[yy]+=l;
                        cnt[yy]++;
                        p[l]=yy;
                    }
                }
                else
                {
                    scanf("%d",&l);
                    printf("%d %lld
    ",cnt[find(p[l])],sum[find(p[l])]);
                }
            }
        }
        return 0;
    }
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    【博客申明】
    OAF客制化代码导出页面数据到Excel文件
    OAF调用JS代码
    Java冒泡排序
    Java二分查找代码
    Java 在某一个时间点定时执行任务(转载)
    Oracle 常用SQL
    Oracle数据字典
    spring3.0事务管理配置
    由override 和 overload 引发的学习感悟
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4642866.html
Copyright © 2011-2022 走看看