并查集
MrTinTin
这个作者很懒,什么都没留下…
展开
-
cf codeforces 1242B 0-1 MST
https://codeforces.com/contest/1242/problem/B 找图中的0权联通块,方法一暴力bfs,方法二用并查集维护,要判断是否合并,即判断是否两个集合是否存在一条0边相连,即从一个点连向那个集合的所有1权边是否小于该集合的大小。 #include<iostream> #include<algorithm> #include<se...原创 2019-11-28 19:22:29 · 589 阅读 · 0 评论 -
[JSOI2008]星球大战 洛谷P1197
题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始不可靠起来。现在转载 2017-07-12 14:18:30 · 311 阅读 · 0 评论 -
食物链 洛谷p2024
题目描述 动物王国中有三类动物 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 吃转载 2017-07-12 12:47:12 · 253 阅读 · 0 评论 -
Navigation Nightmare poj 1984
题意:有多个点,在平面上位于坐标点上,给出一些关系,表示某个点在某个点的正东/西/南/北方向多少距离,然后给出一系列询问,表示在第几个关系给出后询问某两点的曼哈顿距离,或者未知则输出-1。 只要在元素的权值上保存两个信息,与祖先元素的两个方向的差,我选择正东和正北方向差(负值表示正西和正南),然后直接用带权并查集,询问时曼哈顿距离就是两个权值的绝对值之和。由于询问是嵌在给出关系中间的,所以要先存转载 2017-08-03 20:51:02 · 252 阅读 · 0 评论 -
Parity game poj1733
有一个长度已知的01串,给出[l,r]这个区间中的1是奇数个还是偶数个,给出一系列语句问前几个是正确的 解法一:带权并查集。 #include<iostream> #include<algorithm> #define f(i,l,r) for(i=(l);i<=(r);i++) using namespace std; const int MAXN=5005;...原创 2018-10-25 20:30:57 · 194 阅读 · 0 评论 -
关押罪犯 洛谷p1525
题目描述 SS城现有两座监狱,一共关押着NN名罪犯,编号分别为1-N1−N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为cc 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为cc的冲突事件。 每年年末,警察局会将本年...原创 2018-11-06 14:32:19 · 379 阅读 · 0 评论