![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
kuricip
如果你瞄准月亮,即便迷失,也是在星辰之间
展开
-
How Many Answers Are Wrong(带权并查集)
How Many Answers Are Wrong 题目传送门 How Many Answers Are Wrong 题目大意 给你一个区间长度n,以及m个子区间 子区间有x,y,z三个参数,代表[a,b][a,b][a,b]区间的和为z 如果一个子区间和与前面的子区间和冲突,则错误 求错误的子区间的个数 思路 参考大佬的详细做法吧,HDU 3038 带权并查集判错 我的区间表示的是[a,b)[a,b)[a,b),一样的可以的 AC Code #include<cstdio> #includ原创 2020-09-06 10:18:07 · 112 阅读 · 0 评论 -
How Many Tables(并查集)
How Many Tables 题目传送门 How Many Tables 题目大意 给你n个人和m次输入 每次输入两个认识的人,人可以通过认识的人认识其他人 求最后形成的都不认识的集合的个数 思路 并查集维护集合,最后判断一下集合的个数即可(即祖先结点为自己的点) AC Code #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace原创 2020-09-06 00:16:40 · 161 阅读 · 0 评论 -
The Suspects(并查集)
The Suspects 题目传送门 The Suspects 题目大意 给你学生数量n,以及m个学生团体 每个团体给你x个人和他们的编号,求与编号0在一个团体过的人数 思路 很明显的并查集维护与0在一起过的人即可,同时记录一下每个祖先结点的值(即该集合的值) AC Code #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace std原创 2020-09-06 00:06:10 · 74 阅读 · 0 评论 -
Wireless Network(并查集)
Wireless Network 题目传送门 Wireless Network 题目大意 在二维平面上,给你n个点,和一个距离d O+数字表示激活该台电脑 S+数字+数字,表示连通两台电脑,在d距离之内就能连通,能连通输出SUCCESS,不行就输出FAIL 思路 每次有电脑被激活的时候,就遍历一次可以连接到的电脑,对于同一个集合(即连接了的电脑)使用并查集维护一下就可以了 AC Code #include<cstdio> #include<algorithm> #include<原创 2020-09-04 18:09:22 · 344 阅读 · 0 评论 -
I Interesting Computer Game(并查集)
I Interesting Computer Game 题目传送门 Interesting Computer Game 思路 将每次输入的a和b当做点,将其连成一条边,很明显的对于形成的连通块来说,如果无环就只能取到当前连通块的顶点减一的点,如果连通块内存在至少一个环,即可将该连通块取完,所以我们只需要判断连通块有无环 同时我们注意到数据的范围为1≤ai≤1091 \le a_i \le 10^91≤ai≤109 1≤bi≤1091 \le b_i \le 10^91≤bi≤109 所以要采取离散化的原创 2020-08-04 23:54:55 · 190 阅读 · 0 评论 -
Little W and Contest(并查集)
Little W and Contest(并查集) 题目传送门 Little W and Contest 题意 俱乐部有n个人,其中有标号为1和2的两种人, 一个队伍至少保包含两个标号为2的人 最开始大家相互不熟悉,每天会有人相互认识,也可以通过认识的人去认识其他人(并查集) 要求队伍中的人互相不认识,求每天可以组成的队伍 思路 第一天大家都不认识,我们可以选择2 2 1和2 2 2,求出此时的ans 后面的几天,可以将人分成三种,当天认识的u,v和其他的w,因为u和v肯定是不互相认识的,所以认识u的原创 2020-07-30 19:26:44 · 301 阅读 · 0 评论