首页 > 其他分享 >HDU 2120 Ice_cream's world I(并查集)

HDU 2120 Ice_cream's world I(并查集)

时间:2023-04-13 17:40:10浏览次数:55  
标签:bin 2120 HDU int 查集 ans include find1

题目地址:HDU 2120

这题虽然字数不多,但就是看不懂。。意思是求最多有多少个被墙围起来的区域。显然就是求环的个数。然后用并查集求环个数就可以了。

代码如下:

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <queue>
#include <map>
#include <set>
#include <algorithm>

using namespace std;
int bin[2000];
int find1(int x)
{
    return bin[x]==x?x:bin[x]=find1(bin[x]);
}
int main()
{
    int n, m, ans, a, b, f1, f2, i;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        ans=0;
        for(i=0;i<n;i++)
            bin[i]=i;
        while(m--)
        {
            scanf("%d%d",&a,&b);
            f1=find1(bin[a]);
            f2=find1(bin[b]);
            if(f1==f2)
                ans++;
            else
                bin[f2]=f1;
        }
        printf("%d\n",ans);
    }
    return 0;
}


标签:bin,2120,HDU,int,查集,ans,include,find1
From: https://blog.51cto.com/u_16070138/6188254

相关文章

  • HDU 2604 Queuing(矩阵快速幂)
    题目地址:HDU2604这题只要推出公式来,构造矩阵就很容易了,问题是推不出公式来。。TAT。。从递推的思路考虑,用f(n)表示n个人满足条件的结果,如果最后一个是m则前n-1人可以任意排列,有f(n-1)种;如果是f,则考虑后两位mf和ff,没有一定满足或者一定不满足的状态,所以继续考虑一位,考虑后三位......
  • HDU 1588 Gauss Fibonacci(矩阵快速幂)
    题目地址:HDU1588用于构造斐波那契的矩阵为1,11,0设这个矩阵为A。sum=f(b)+f(k+b)+f(2*k+b)+f(3*k+b)+........+f((n-1)*k+b)<=>sum=A^b+A^(k+b)+A^(2*k+b)+A^(3*k+b)+........+A^((n-1)*k+b)<=>sum=A^b+A^b*(A^k+A^2*k+A^3*k+.......+A^((n-1)*k))(1)设矩阵B为A^k;那么(1......
  • HDU 3306 Another kind of Fibonacci(矩阵快速幂)
    题目地址:HDU3306没什么智商的题目,只要把构造矩阵硬算出来就行。代码如下:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<queue>#include<......
  • (KMP 1.1)hdu 1711 Number Sequence(KMP的简单应用——求pattern在text中第一次出现的
    题目:NumberSequenceTimeLimit:10000/5000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):12902    AcceptedSubmission(s):5845ProblemDescriptionGiventwosequencesofnumbers:a[1],a[2],......,a[N],andb[1......
  • hdu-4533(线段树+区间合并)
    约会安排HDU-4553跟hdu-1540(线段树+区间合并)-魏老6-博客园(cnblogs.com)是一样,但是要写两个线段树。线段树维护,最长前缀pre,最长后缀suf,以及最大连续连续区间sum。1代表空,0代表时间被占了还有几个注意事项:当是DS时,只能查询和修改屌丝树;当是NS时,先判断屌丝树能不......
  • hdu-1540(线段树+区间合并)
    TunnelWarfareHDU-1540思路:没被摧毁的村庄为1,否则为0,用len记录线段树维护区间的两个信息:前缀最长1的序列pre后缀最长1的序列suf父节点与左右子节点的关系://lc为左节点,rc为右节点1.若左右结点都不满1,则tr[p].pre=tr[lc].pre,tr[p].suf=tr[rc].suf2.若左节点满1,tr......
  • HDU - 3572 Task Schedule (最大流)
    题目大意:有N个任务,M台机器。每个任务有相应的起始时间,截至时间和完成时间每台机器一小时可以做1个单位的工作量,每个任务的完成可以不连续,但每次只能由一台机器完成问能否完成所有任务解题思路:因为只有500分钟,所以可以将每分钟都设成1条边,连向超级汇点,容量为M每个任务连接向......
  • HDU - 3338 Kakuro Extension(最大流 行列模型)
    题目大意:看一下图基本就知道了解题思路:难点是构图。。设置一个超级源点和所有的行的和相连,容量为该行的和-该行和由几个数相加得到,因为这里将0看成了,1看成了2,依此类推设置一个超级汇点,和所有列的和相连,容量为该列的和-该列和由几个数相加得到,和上面一样接着就是空白部分......
  • HDU - 3081 Marriage Match II(二分图最大匹配 + 并查集)
    题目大意:有n个男生n个女生,现在要求将所有的男女配对,所有的男女都配对的话,算该轮游戏结束了。接着另一轮游戏开始,还是男女配对,但是配对的男女不能是之前配对过的。问这游戏能玩多少轮男女能配对的条件如下1.男女未曾吵架过。2.如果两个女的是朋友,那么另一个女的男朋友可以和......
  • HDU - 3715 Go Deeper (二分 + 2-SAT)
    题目大意:给出一个递归函数,问这个递归函数最多能递归几层解题思路:二分枚举递归层数,然后依此建边如果给出的c[i]为0时,那么x[a[i]]和x[b[i]]中的其中一个要为真,连边即为!a[i]->b[i],!b[i]->a[i]如果给出的c[i]为1时,那么x[a[i]]和x[b[i]]两个要么都为真,要么都为假,连边即为a[i]->b[i......