随笔分类 -  数据结构——并查集

摘要:题目链接 2017 CCPC Hangzhou Problem H 思路:对树进行分块。把第一棵树分成$\sqrt{n}$块,第二棵树也分成$\sqrt{n}$块。 分块的时候满足每个块是一个连通块,那么每个块就有一个共同的祖先。 把询问按照第一个点被第一棵树的哪个祖先管辖和第二个点被第二棵树的哪个 阅读全文
posted @ 2018-06-24 21:36 cxhscst2 阅读(625) 评论(2) 推荐(0)
摘要:题目链接 2017 ACM-ICPC Beijing Regional Contest Problem C 题意 给定一个$n$个点$m$条边的无向图。现在有$q$个询问,每次询问格式为$[l, r]$,即图中只有第$l$个点到第$r$个点是安全的,同时 对于某条边,如果他的两个端点都是安全的,那么 阅读全文
posted @ 2018-03-04 22:53 cxhscst2 阅读(394) 评论(0) 推荐(0)
摘要:题目链接 2016 ACM-ICPC EC-Final Problem G 题意 给定一个无向图。每个点有一种颜色。 现在给定$q$个询问,每次询问$x$和$w$,求所有能通过边权值不超过$w$的边走到$x$的点的集合中,哪一种颜色的点出现的次数最多。 次数相同时输出编号最小的那个颜色。强制在线。 阅读全文
posted @ 2018-03-03 23:38 cxhscst2 阅读(529) 评论(0) 推荐(0)
摘要:题目链接 EOJ Monthly 2018.1 Problem F 先假设答案的每一位都是$1$,然后从高位开始,选出那些该位置上为$0$的所有边,并查集判断连通性。 如果$s$和$t$可以连通的话,那么该位置$0$,然后用刚刚选出来的这些边再继续做下去。 如果$s$和$t$不连通的话,那么不做任何 阅读全文
posted @ 2018-02-24 00:17 cxhscst2 阅读(263) 评论(0) 推荐(0)
摘要:题目链接 2016 CCPC东北地区大学生程序设计竞赛 B题 题意 给定一个无向图和一棵树,树上的每个结点对应无向图中的一条边,现在给出$q$个询问, 每次选定树中的一个点集,然后真正被选上的是这些点以及这些点的所有祖先。 只有标号在树中真正被选上的点代表的这些原图中的边是存在的,这样就构成了一个新 阅读全文
posted @ 2018-02-20 00:19 cxhscst2 阅读(191) 评论(0) 推荐(0)
摘要:题目链接 Imbalance Value of a Tree 题意 给定一棵树。求树上所有简单路径中的最大权值与最小权值的差值的和。 首先考虑求所有简单路径中的最大权值和。 对所有点按照权值大小升序排序,即若$a[i] < a[j]$,那么$i$排在$j$前面。 接下来开始依次处理。对于每个点$i$ 阅读全文
posted @ 2018-01-30 23:20 cxhscst2 阅读(253) 评论(0) 推荐(0)
摘要:题目链接 Mr. Kitayuta's Colorful Graph 把每种颜色分开来考虑。 所有的颜色分为两种:涉及的点的个数 $> \sqrt{n}$ 涉及的点的个数 $<= \sqrt{n}$ 对于第一种颜色,并查集缩点之后对每个询问依次处理过来若两点连通则答案加一。 对于第二种颜色,并查集缩 阅读全文
posted @ 2017-12-11 20:34 cxhscst2 阅读(193) 评论(0) 推荐(0)
摘要:题目链接 Envy 题意 给出一个连通的无向图和若干询问。每个询问为一个边集。求是否存在某一棵原图的最小生成树包含了这个边集。 考虑$kruskal$的整个过程, 当前面$k$条边已经完成操作的时候(就是前$k$小的边已经进行并查集缩点,此时部分点已经形成了若干个连通块) 这个时候突然冒出来一些权值 阅读全文
posted @ 2017-12-11 14:26 cxhscst2 阅读(358) 评论(0) 推荐(0)