
并查集
文章平均质量分 95
并查集习题总结
Gene_INNOCENT
Wait for the sunrise!
展开
-
HDU 2144(最长公共子序列+并查集)
今天训练赛的题目,从队切变成个人切的第一场,荣登倒一,很是难受...基础还是太差,以前都靠队友,现在都得自己补了!这题就是对每两个DNA求最长公共连续子序列,然后如果相同部分长度超过一定比例,就将这两个串放到一个集合里.注意点: 1.一开始一直都是TLE,然后发现是再求出了r1=find(i); r2 = find(j); 之后,还将 i 和 j 传进了merge函数,造成了两次调用并查集,...原创 2018-05-13 23:00:18 · 300 阅读 · 0 评论 -
【带权并查集详解】以HDU 3038为例【How Many Answers Are Wrong】
并查集主要是维护不同元素之间传递关系的数据结构,如果不带权,那么维护的就是不同元素是否属于同一个集合,即连通关系。如果带权,那么除了维护连通性之外,还会维护同一个集合中各个元素之间的关系。原创 2019-03-18 12:40:10 · 548 阅读 · 5 评论 -
【POJ 1733】Parity game【带权并查集维护奇偶】
题意:一个长度为 NNN 的由 000 和 111 组成的序列 SSS。MMM 个询问,返回 [l,r][l,r][l,r] 中 111 的个数是奇数还是偶数。输出一个最小的 kkk,使得存在一个 010101 序列满足第 1 k−11~k-11 k−1 个回答,但不存在满足第 1 k1~k1 k 个回答的 010101 序列。(N≤109,M≤1000...原创 2019-03-19 22:02:56 · 1334 阅读 · 0 评论 -
【0x40 数据结构进阶 例题】银河英雄传说【带权并查集】
题意:NNN 艘战舰,一开始第 iii 号战舰处于第 iii 列。MMM 条指令,两种形式。① M i j①\ M\ i\ j① M i j ,表示让第 iii 号战舰所在列的全部战舰保持原有顺序,接在第 jjj 号战舰所在列的尾部。② C i j②\ C\ i\ j② C i...原创 2019-03-19 21:34:03 · 257 阅读 · 0 评论 -
【ACM International Collegiate Programming Contest Gym-100814 C】Connecting Graph【并查集按秩合并】
题意:nnn个点,mmm个操作,操作共两类。① 1 u v①\ 1\ u\ v① 1 u v 表示在图中加一条边连接u、vu、vu、v,② 2 u v②\ 2\ u\ v② 2 u v 表示查询 uuu 与 vvv 最早是在哪一次加边操作后连通,不连通输−1-1−1。 (1≤...原创 2019-05-08 09:00:42 · 1329 阅读 · 0 评论 -
【POJ 1456】Supermarket【并查集】
题意: 给定N个商品,每个商品利润为pi,过期时间为di,每天只能卖一个商品,过期商品不能再卖,求如何安排每天卖的商品,可以使收益最大。 1 <= N, pi, di <= 10000.思路: 首先有一个很明显的贪心思路。就是将商品按照日期从先到后排序,然后遍历每一个商品,如果当前这个商品过期时间之前的每一天没有全部安排完,那就将这个商品选中...原创 2019-03-13 13:58:39 · 263 阅读 · 0 评论 -
【Gym-100085 E】Eve【模拟题】
题意: 每一个人的线粒体DNA是从母亲那里遗传而来的。给出一个族群的出生和死亡情况,以及某几个人的线粒体DNA测序结果,问在最后时刻,所有活着的人是否拥有相同的线粒体DNA,给出YES、POSSIBLY、NO三种情况结果。 思路: 其实就是一个并查集问题,模拟题目给出的过程,出生时将孩子和母亲放到一个集合中,测序时用map判断是否有相同DNA的人群,将他们放...原创 2019-02-14 23:04:52 · 207 阅读 · 0 评论 -
【HDU - 3038】How Many Answers Are Wrong 【带权并查集 - 向量偏移】
题意: 给定n和m,区间为【1 , n】,m为给出的询问组数。 对于每次询问,将会给出x、y、sum,代表区间【x , y】的累加和为sum。 问一共有几组询问与前面为真的询问不符,如果该组询问不符合事实,请忽略这组询问。 思路: 如果写过 “食物链” 这道题的话,可以很明显地看出这是一个带权并查集问题。而且由于题目给的是区间 sum...原创 2018-08-29 11:12:53 · 225 阅读 · 0 评论 -
【POJ 1182】食物链【“拓展域”并查集】
题意: 有三种动物,A吃B,B吃C,C吃A。 现有K组语句,n个动物,1 x y:x和y是同类,2 x y:x吃y。 符合下列三个条件之一的即为错误语句,输出错误语句个数。1.自己吃自己2.x > n || y > n3.当前语句和之前的正确语句发生了冲突 思路: 本题是拓展域并查集的典型题目,利用拆点,将每一个点拆成...原创 2018-08-28 21:18:16 · 361 阅读 · 0 评论 -
【带权并查集 —— 是否说谎】Parity game【POJ 1733】
题意: 一串由0、1组成的字符串,M次询问,每次询问,小A都会给出一个答案。 每次询问中,有两个数,分别为 l 和 r,然后小A回答在字符串【l,r】这个区间内,有奇数个 1,还是偶数个 1,但是小A会说谎。 问在第 k 组询问中,可以发现小A说谎了,输出最小的 k。思路: 本题有两种做法,一种是用带权并查集来解决该问题,另一种是用扩展域...原创 2018-08-28 19:51:48 · 281 阅读 · 0 评论 -
【带权并查集经典例题】银河英雄传说【同POJ 1988 cube stacking】
题意: 划分为N列的星际战场,各列编号为1,2,...,N。初始每列一艘战舰,第 i 列战舰位于第 i 列。 M条指令,每条指令为以下两种之一:1.M i j,表示让第 i 号战舰所在列的全部战舰保持原有顺序,接在第 j 号战舰所在列的尾部。2.C i j,表示询问第 i 号战舰与第 j 号战舰当前是否在同一列中,如果在同一列中,它们之间间隔了多少艘战舰。 ...原创 2018-08-28 18:59:42 · 344 阅读 · 0 评论 -
【POJ 1456】Supermarket【两种做法】【二叉堆贪心】【并查集】
题意: 给定N个商品,每个商品有利润 pi 和过期时间 di,每天只能卖一个商品,过期商品不能再卖,求如何安排每天卖的商品,可以使收益最大。思路: 先对所有的商品按照时间进行一下排序,再依次将商品加入优先队列,加入优先队列的时候需要进行一下判断:1.当前商品的日期 == 优先队列中的商品数量 && 当前商品的价值大于小根堆堆顶元素的价值...原创 2018-08-27 16:30:37 · 425 阅读 · 0 评论 -
【带权并查集题目汇总】
本文为几道带权并查集例题解析:1. 食物链;2. 关押罪犯;3. Rochambeau;4. True Liars。原创 2019-03-22 11:19:10 · 1694 阅读 · 0 评论