并查集
霜刃未曾试
这个作者很懒,什么都没留下…
展开
-
poj 2513 字典树+并查集
题目:http://poj.org/problem?id=2513题意:给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。思路:刚开始用map去做映射,超时了。。。都忘记字典树了,于是用字典树去映射,记录每个点出现的次数,当奇数顶点等,1或超过2,必然不可能,最后还要判断点之间是不是连通,不连通必然不可能#include原创 2016-04-05 21:02:23 · 473 阅读 · 0 评论 -
POJ 1733 Parity game 带权并查集
题目:http://poj.org/problem?id=1733题意:一个长度为n的序列,只有0和1组成。现在每次给出一个区间[l,r],并给出区间中1的个数是偶数个还是奇数个,问前多少个是正确的(从第1个开始连续且正确的个数)思路:对于给定的一个区间[l,r],如果区间中1的个数为偶数,那么可以发现[0,l-1]和[0,r]中1的个数是同偶或同奇的;如果区间中1的个数为奇数,可以发现[0,l-1原创 2017-05-11 20:22:38 · 270 阅读 · 0 评论 -
POJ 1417 True Liars 带权并查集+DP
题目:http://poj.org/problem?id=1417题意:有两种人:好人和坏人,其中好人说的话一定是真的,坏人说的话一定是假的。现在知道好人和坏人的具体个数,又提问了n个问题:x y yes|no,问第x个人,第y个人是好人还是坏人,回答yes或者no。问根据以上能不能判断出哪些人是好人,题目保证不会有矛盾的问答思路:可以根据问答把所有人分类,每类又分成两小类:相互矛盾的两小类,相互矛原创 2017-05-11 20:49:06 · 567 阅读 · 0 评论 -
poj 1703 Find them, Catch them 带权并查集
题目:http://poj.org/problem?id=1703题意:在这个城市里有两个黑帮团伙,现在给出N个人,问任意两个人他们是否在同一个团伙输入D x y代表x于y不在一个团伙里输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙里思路:用并查集,par数组存放当前点的根节点,rnk数组存放当前点与根节点之间的集合关系,0表示在同一集合,1表示不在同一集合原创 2016-04-04 21:51:02 · 408 阅读 · 0 评论 -
POJ 1182 食物链 带权并查集或种类并查集
题目:http://poj.org/problem?id=1182题意:Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同类。原创 2017-05-05 21:00:48 · 406 阅读 · 0 评论 -
POJ 1988 Cube Stacking || HDU 2818 Building Block 带权并查集
题目:http://poj.org/problem?id=1988题意:有n个箱子,标号为1~n,初始时分成n堆,每堆一个按顺序。现在有p个操作,操作分两种: - M x y:把x所在的那一堆放到y所在的那一堆上 - C x:查询x下面有多少个箱子 poj和hdu不同的一点是:hdu可能出现x y在同一堆的情况思路:定义rnk[x]为x到父节点的距离,num[x]为以x为祖先的所有点的个数。执原创 2017-05-06 20:26:34 · 344 阅读 · 0 评论