并查集
发型睡姿决定
越努力,越幸运
展开
-
The Suspects(并查集)
添加链接描述 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy ...原创 2019-07-25 19:10:32 · 74 阅读 · 0 评论 -
True Liars POJ - 1417(并查集+DP)
POJ—1417 题意: 给你p1个好人和p2个坏人,编号为1-p1+p2,然后给你n种操作 x1 x2 no:x1说x2不是好人 x1 x2 yes:x1说x2是好人 在这里好人说的总是对的,坏人说的总是坏的,然后问你最后能不能唯一确定哪些是好人,并输出,否则输出”no“ 思路:首先,我们假设x1是好人,并且有 x1 x2 yes 那么,x2一定也是好人,如果有x1 ...原创 2019-08-13 11:52:07 · 212 阅读 · 0 评论 -
How Many Answers Are Wrong HDU - 3038(带权值并查集找假话数量)
HDU—3038 题意:给你一个n和一个m,n代表n个数,m代表m次询问,每次询问给你一个a,b,s,代表第a个数到第b个数的和是s,让你输出m次询问中有几个错误答案。 思路:利用带权并查集的方法。 带权并查集就是在并查集的基础上加了个权值,用来维护元素之间的关系。 那么,问题来了,他们之间的权值要怎么计算呢? 1.首先,在找祖先的时候,也要把他们的权值进行改变,即v[x] += v[fa[x]...原创 2019-08-13 11:18:22 · 100 阅读 · 0 评论 -
A Bug's Life POJ - 2492(权值并查集)
POJ—2492 题意 虫子有两种性别,有n只虫子,编号1~n,输入m组数据,每组数据包含a、b两只虫子,表示a、b为不同性别的虫子,根据输入的m组数据是否出现前后矛盾(如a、b在前面判断为同性,而后又得出a、b为异性)进行相应的输出。 思路 使用并查集求解,但该题比普通并查集题目复杂了一些,该题需要使用树中结点的权值来记录信息,在代码中使用数组r[]来记录某结点和其父结点之间的性别是否相同,...原创 2019-08-13 18:59:24 · 152 阅读 · 0 评论 -
小希的迷宫 HDU - 1272(并查集无向图判断是不是树)
HDU—1272 思路: 1.每输入一组数据,都要对其进行连接(Merge),如果两个点getf(a)==getf(b),那么说明他们已经是一个集合的了,如果再连接a,b两个点,就会构成回路,这里也就是要输出no. void Merge(int a,int b) { int A,B; A=getf(a); B=getf(b); if(A!=B) { ...原创 2019-08-13 17:21:08 · 149 阅读 · 0 评论 -
Parity game POJ - 1733(并查集奇偶问题求第几句话错误)
POJ—1733 题意:给一个序列这个序列都是由0和1组成,现在随意拿出来一个序列,然后说出他的和是奇数还是偶数,因为有可能存在假话,让你判断前多少条没有假话,也就是查找第一个假话的位置-1 思路:带权并查集,权值为 本节点到父亲节点的1的个数的奇偶性,偶数为0,奇数为1,由于n很大,我们开不了这么大的数组,但是m只有5000,所以我们考虑压缩一下 #include<iostream&g...原创 2019-08-13 16:47:30 · 139 阅读 · 0 评论 -
Supermarket POJ - 1456(贪心+并查集求最大价值)
POJ—1456 这里其实用贪心做,并查集只是用来作为工具,使得速度更加快。 题意:是买卖N件东西,每件东西都有个截止时间,在截止时间之前买都可以,而每个单位时间只能买一件。问最大获利。 思路:如果购买不冲突,那么全部买下来就可以了。存在冲突,就需要取舍。显然在冲突的时候我们选择价格高的更优,如此就可以用贪心的算法。先将物品按照价格从高到底的顺序排列,购买一个就在时间点上做一个标记,只要不冲突就...原创 2019-08-13 14:59:20 · 151 阅读 · 0 评论 -
食物链
添加链接描述 动物王国中有三类动物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-07-25 19:22:55 · 271 阅读 · 0 评论 -
Is It A Tree?(并查集有向图判断树)
添加链接描述 A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the following properties. ...原创 2019-07-25 19:14:55 · 162 阅读 · 0 评论 -
Wireless Network POJ - 2236(并查集(维修更新合并))
POJ—2236 题意: 有 n 台损坏的电脑,要将他们逐台恢复。若两台电脑能相互通信,有两种情况,一是他们间的距离小于 d,二是他们都能到达第三台已修复的电脑,现在给出全部的电脑位置,对所有电脑进行上述的操作,O x 代表修复第 x 台,S x y 代表判断 x y 能否通信,若能输出 SUCCESS,否则输出 FALL 思路:简单的并查集 用并查集来保存电脑之间的连通情况,每次修好电脑后,...原创 2019-08-13 10:11:53 · 108 阅读 · 0 评论