
ACM--并查集
文章平均质量分 75
Coroalla_Virus
free
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU1213 How Many Tables (并查集)
题目大意:有一个人要过生日了,请他的朋友来吃饭,但是他的朋友互相认识的才能坐在一起,朋友的编号从1 ~ n,输入的两个数代表着这两个人之间有关系。问需要多少桌子。 思路:并查集的基础题目,pre数组存的是父节点的值,root数组代表是否为根节点。最后统计根节点的数量就可以了~~~~~ #include #include #include #include #include #in原创 2015-11-07 19:31:58 · 305 阅读 · 0 评论 -
UVA 11987 Almost Union-Find (并查集)
题意:这里有N个数编号1 ~N,开始每个数各自在一个集合里面,然后有三种命令: 1 P Q :把 P 所在的集合和 Q 所在的集合合并,如果已经在一个集合里面了就忽视 2 P Q : 把 P 这个元素从它所在的集合里面拿出来放到 Q 里面,,如果已经在一个集合里面了就忽视 3 P :询问 P 所在集合元素的 个数 和P所在集合元素的 和。 思路:对于命令 1 直接合并就好了,用cnt[]原创 2015-11-08 15:14:30 · 451 阅读 · 0 评论 -
CodeForces 445B DZY Loves Chemistry (并查集)
题意:有N种药剂编号 1 ~ N,然后又M种反应关系,这里有一个试管,开始时危险系数为 1,每当放入的药剂和瓶子里面的药剂发生反应时危险系数会乘以2,否则就不变,给出M种反应关系,求最大的危险系数。 思路:我们假设 1 ~ N 有 M 种反应关系 ,若果有反应关系的我们可以把他们看成是一个集合 ,假设这M种反应构成了 T个集合,那么把这T个集合依次放入试管,有几个不发生反应呢?当然是T个了原创 2015-11-08 15:34:28 · 396 阅读 · 0 评论 -
UVALive(LA) 4487 Exclusive-OR(带权并查集)
题意:对于n个数X[0]~X[n-1],但你不知道它们的值,通过逐步提供给你的信息,你的任务是根据这些信息回答问题,有三种信息如下: I p v : Xp = v; Xp 的值为v I p q v : Xp ^ Xq = v; Xp 异或Xq的值为v Q k X1 X2 X3 ..... Xk : 问X1异或X2异或X3....异或Xk的值为多少? 解题思路原创 2015-11-08 11:26:35 · 548 阅读 · 0 评论 -
UVALive 3027 Corporative Network (带权并查集)
题意:有 n 个节点,初始时每个节点的父节点都不存在,你的任务是执行一次 I 操作 和 E 操作,含义如下: I u v : 把节点 u 的父节点设为 v ,距离为| u - v | 除以 1000 的余数。 E u : 询问u 到根节点的距离。 解题思路:因为题目只查询节点到根节点的距离,所以每棵树处理根节点不能换之外、其他节点的位置可以随意改变,这恰好符原创 2015-11-08 11:23:54 · 420 阅读 · 0 评论 -
UVALive(LA) 3644 X-Plosives (并查集)
题意:有一些简单化合物,每个化合物都由两种元素组成的,你是一个装箱工人、从实验员那里按照顺序把一些简单化合物装到车上,但这里存在安全隐患:如果车上存在K个简单化合物,正好包含K种元素,那么他们就会组成一个容易爆炸的混合物,为了安全起见,每当你拿到一个化合物时,如果它已经和已装车的化合物形成了易爆混合物,你就应该拒绝装车,否则就应该装车,输出你拒绝了多少个混合物。 思路:一种化合物由两种元素组成,原创 2015-11-08 10:35:10 · 478 阅读 · 0 评论 -
POJ 2524 Ubiquitous Religions (并查集)
Description 当今世界有很多不同的宗教,很难通晓他们。你有兴趣找出在你的大学里有多少种不同的宗教信仰。 你知道在你的大学里有n个学生(0 。你无法询问每个学生的宗教信仰。此外,许多学生不想说出他们的信仰。避免这些问题的一个方法是问m(0 <= m <= n(n - 1)/ 2)对学生, 问他们是否信仰相同的宗教( 例如他们可能知道他们两个是否去了相同的教堂) 。在这个数据原创 2015-11-08 10:22:49 · 356 阅读 · 0 评论 -
POJ 1611 The Suspects (并查集)
Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会, 最好的策略是隔离可能的患者。 在Not-Spreading-Your-Sickness大学( NSYSU), 有许多学生团体。同一组的学生经常彼此相通,一个学生可以同时加入几个小组。为了防止非典的传播,NSYSU收集了所有原创 2015-11-08 10:13:24 · 357 阅读 · 0 评论 -
HDU 1558 Segment set(并查集)
题意:给你一些线段的起点和终点的坐标,最后问和某个线段相连的或者间接相连的线段有多少个(包括本身)? P X1 Y1X2 Y2 起点(X1,X2)终点(X2,Y2);按照出现次数依次编号为1,2,3,4...... Q N 问和第N个线段相交或者间接相交的线段有多少个,所谓间接相交就是如果 1 和 2相交 , 2 和 3相交 那么 1 和 3 就是间接相交。。。。。 解题思路:每原创 2015-11-08 09:07:32 · 314 阅读 · 0 评论 -
HDU 1856 More is better (并查集)
题意:给你两个数代表这两个人是朋友,朋友的朋友还是朋友~~,问这些人组成的集合里面人最多的是多少。。。 思路:属于并查集了,我用的是带路径压缩的,一个集合里面所有元素(除了根节点)的父节点都是根节点,最后统计下哪个根节点出现的次数最多就OK了~~ #include #include #include #include #include #include #include usin原创 2015-11-08 09:03:09 · 405 阅读 · 0 评论 -
HDU 1325 Is It A Tree?(并查集)
题目大意:给你两个节点,前者指向后者(可以认为前者是后者的父节点),然后让你判断是否是一棵树。 解题思路:先说说这道题和小希的迷宫(HDU1272)那道题的区别,前者给出的两个点是有方向的,而后者是没有的,这就是唯一的区别。再者这道题其实就是让你判断所有的点最后所形成的图是否是一棵树。做这道题时错误了很多遍,细想之,主要是开始思路不好,很容易乱,理清思路让代码变得清晰起来就好了。判断一个图是否为原创 2015-11-07 20:34:22 · 476 阅读 · 0 评论 -
HDU1232 畅通工程 (并查集)
题目:中文的就不说了~~~~ 思路:属于并查集的基础题,比较典型,可以把连通在一起的看成是一个点,假设一共有N个独立的点,那么就需要 N - 1 条边把他们连通起来,所以利用并查集算法,最后统计有多少个独立的集合,然后把这个数减去一便是我们所要的答案了~~~~ #include #include #include #include #include #include #in原创 2015-11-07 19:44:30 · 336 阅读 · 0 评论 -
HDU 1272 小希的迷宫 (并查集)
题目:中文的~~~~ 思路:属于并查集算法,输出YES的条件有两个,第一:每次新输入的两个数不能同属于一个集合(即根节点一样),第二:所有的输入完成后判断是否仅有一个集合(根节点只有一个)。只有这两个条件全部达成,才能输出“YES”~~~需要注意的是 直接输入“0 0”,应该输出“YES”。 #include #include #include #include #includ原创 2015-11-07 20:27:13 · 287 阅读 · 0 评论 -
HDU 5652 India and China Origins(并查集)
题意: 中国和印度之间有一片地方,把这片地方抽象化,于是就可以看成一个N * M矩阵,其中黑色的代表高山不能走过 去,白色的代表平原,可以通行,人每次可以选择往上下左右四个方向移动,但是随着时间的变化某些白色的平原会变 成黑色的高山,从而变为不可通行,题目中给出一个代表地势的图,然后有 Q 次操作,第 i 次操作 代表在第 i 年 (x, y) 处的平原变成了高山,即白色变为了黑色。问中国原创 2016-04-04 10:01:00 · 581 阅读 · 0 评论