
并查集
文章平均质量分 65
moomhxy
你若是天才,我便是疯子
展开
-
并查集
性质并查集算法(union_find sets)不支持分割一个集合,求连通子图、求最小生成树初始化我们将每一个结点的前导结点设置为自己,如果在join函数时未能形成连通,将独立成点for(int i=0;i<n;i++)//n表示输入的结点的个数{ pre[i]=i;//将每一个结点的前导点设置为自己}用法并查集是由一个数组pre[],和两个函数构成的...原创 2018-11-06 17:19:05 · 661 阅读 · 0 评论 -
AcWing 237. 程序自动分析【并查集】
在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x1≠x4,这些约束条件显然是不可能同时...原创 2019-09-05 20:16:08 · 140 阅读 · 0 评论 -
ACWing 238. 银河英雄传说【带权并查集】
有一个划分为N列的星际战场,各列依次编号为1,2,…,N。有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。有T条指令,每条指令格式为以下两种之一:1、M i j,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。2、C i j,表示询问第i号战舰与第j号战舰当前是否处于同一列中,如果在同一列中,它们之间间隔了多少艘战舰。现在需要你编写一...原创 2019-09-05 21:18:43 · 170 阅读 · 0 评论 -
HDU 1272 小希的迷宫【并查集】
小希的迷宫Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Problem Description上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通...原创 2019-09-12 11:08:36 · 872 阅读 · 0 评论 -
Hihocoder 1515 : 分数调查【带权并查集】
描述小Hi的学校总共有N名学生,编号1-N。学校刚刚进行了一场全校的古诗文水平测验。 学校没有公布测验的成绩,所以小Hi只能得到一些小道消息,例如X号同学的分数比Y号同学的分数高S分。 小Hi想知道利用这些消息,能不能判断出某两位同学之间的分数高低?输入第一行包含三个整数N, M和Q。N表示学生总数,M表示小Hi知道消息的总数,Q表示小Hi想询问的数量。 以下M行每行...原创 2019-09-12 13:01:24 · 194 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong【带权并查集】
给定一个长为N的数组a[],有M个询问和结果。所谓询问形如:x y z,表示a[x]+a[x+1]+……+a[y]=z。如果某个询问及结果与前面的询问及结果冲突,即为错误结果。输出总共有多少错误结果。 tip:假设已知{1 10 100},之后出现{1 9 200} ,则显然{1 9 200}是错误的(我们假定先出现的必定正确)。InputLine 1: Two integers, N a...原创 2019-09-12 20:08:55 · 186 阅读 · 0 评论 -
POJ 2492 A Bug's Life【种类并查集】
Background若雨妹妹在Debug。他惊奇的发现 Bug有两种性别,异性之间才交往,他感觉很奇怪,于是要做个实验。在他的实验中,Bug们已经被从1开始编好号了。此外,Bug的性别很好辨别。Problem因为若雨妹妹太懒了,他懒得去分析他总结出来的bug数据。你需要根据数据判断是否存在同性恋,输入有 t 组数据,每组数据给出bug数量n, 和关系数m, 以下m行给出相交往的一对Bug编号 ...原创 2019-09-12 21:47:04 · 200 阅读 · 0 评论 -
POJ 1733 Parity game【扩展域并查集】
现在你和你的朋友正在玩一种游戏。 你的朋友写下一串0和1的序列,然后你选择其中一串子序列(如[3,5])并且问他这个序列是包含奇数个1还是偶数个1(和是奇数还是偶数)。 你可以问你的朋友任意个问题,而你的朋友会回答你的问题。 你的任务是猜出整个朋友的序列。但是,你发现你的朋友告诉你的信息可能有误,所以你想写一个程序来指出他的错误。这个程序应该接受一系列你的问题和答案。程序的目标是找到第一个错误的...原创 2019-09-13 16:22:19 · 212 阅读 · 0 评论 -
POJ 1182 食物链 【扩展域并查集】
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话...原创 2019-09-13 17:03:58 · 151 阅读 · 0 评论 -
POJ 1456 Supermarket【并查集 + 贪心】
超市里有N个商品. 第i个商品必须在保质期(第di天)之前卖掉, 若卖掉可让超市获得pi的利润.每天只能卖一个商品.现在你要让超市获得最大的利润.Input多组数据.每组数据第一行为一个整数N (0 <= N <= 10000), 即超市的商品数目之后N行各有两个整数, 第i行为 pi, di (1 <= pi, di <= 10000)Output...原创 2019-09-02 22:37:15 · 276 阅读 · 0 评论 -
牛客网 All men are brothers【并查集+组合数】
题意:给你n个人,m次询问,每次让两个人加入一个并查集,然后问你能挑出来多少对4个人都不属于一个集合。思路:肯定要用并查集来维护,考虑每次合并两个人消除的影响,假设两个集合分别为x,y人,res为选择两个陌生人的数,那么ans = ans - x * y * (res - x * (n - x) - y * (n - y) + x * y). 其中x * (n - x) 是之前对答案的贡献...原创 2019-08-20 15:34:18 · 213 阅读 · 0 评论 -
牛客网 Explorer 【线段树+可撤销并查集】
题意:Gromah和LZR已进入第五级。与前四个级别不同,他们应该在这个级别做一些动作。此级别有nn _ {} n个顶点和mm _ {} m双向道路,每条道路的格式为(u,v,l,r)(u,v,l,r)_ {}(u,v ,l,r),这意味着顶点uu _ {} u和vv _ {} v通过这条道路连接,但路人的大小应该在区间[l,r] [l,r] _ {} [L,R]。由于小尺寸的路人很可能会受...原创 2019-08-23 21:02:28 · 262 阅读 · 0 评论 -
HDU4496 D-City【基础并查集】
Problem DescriptionLuxer is a really bad guy. He destroys everything he met. One day Luxer went to D-city. D-city has N D-points and M D-lines. Each D-line connects exactly two D-points. Luxer will...原创 2018-11-07 21:47:01 · 204 阅读 · 0 评论 -
HDU1213 How Many Tables【并查集】
Problem DescriptionToday is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the frien...原创 2019-01-31 19:42:22 · 190 阅读 · 0 评论 -
PTA天梯赛L2-010 排座位【并查集】
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 ...原创 2019-03-28 22:59:34 · 780 阅读 · 0 评论 -
PTA天梯赛L2-024 部落【并查集】
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:KP[1]P[2]⋯P[K]其中K是小圈子...原创 2019-03-28 23:29:25 · 234 阅读 · 0 评论 -
POJ2236-Wireless Network【并查集】
南亚发生了一次地震。ACM (Asia Cooperated Medical 亚洲联合医疗队) 已经为膝上型电脑搭建了一个无线网络,但受到了一次不可预知的余震攻击,因此网络中的所有电脑都被破坏了。电脑被逐台修复,网络逐步恢复了工作。由于受到硬件的约束,每台电脑只能与距离它不超过 d 米的其它电脑直接通信。但每台电脑可被看作其它两台电脑的通信中转点,也就是说,如果电脑 A 和电脑 B 可以直接通信,...原创 2019-04-28 21:48:39 · 146 阅读 · 0 评论 -
HDU1213-How Many Tables 【并查集】
今天是HJ的生日,他邀请了许多朋友。现在是吃晚饭的时间,HJ想知道他至少需要准备多少桌。必须注意的是,并非所有的朋友都相互认识对方,有的人不愿意和陌生人坐在一桌。针对此问题的一个重要的规则是,如果我告诉你A知道B,B知道C,这意味着,A和C认识对方,这样他们就可以留在一个桌子。但是如果我告诉你,A知道B,B知道C,D知道E,那么ABC可以坐在一起,DE就得另外再坐一桌了。你的任务是请根据输入的朋友...原创 2019-04-30 21:15:27 · 201 阅读 · 0 评论 -
POJ1182-食物链 【权值并查集】
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,...原创 2019-05-26 10:33:15 · 192 阅读 · 0 评论 -
Codeforces Round #584 D Cow and Snacks【并查集】
题目链接:http://codeforces.com/contest/1209/problem/D题意:n种食品,k个客人,每个客人有a,b两种喜欢的食品,每次轮到他就会把这两样都吃完,如果没有喜欢的就会不高兴,问你最少不高兴的人。思路:把食品当做结点,那么每个人就是a,b结点之间的边,可以找到一种策略使得每个人尽可能只吃一种食品,我们可以用并查集来统计,如果喜欢的食品不在同一个集合那么就...原创 2019-09-16 13:17:40 · 495 阅读 · 0 评论