随笔分类 - 数据结构---并查集
摘要:【CSP2019】树上的数 题面 "洛谷" 题解 我们设每个点上的编号分别为$a_1,a_2...a_n$。 10pts 。。。 菊花 假设现在菊花中心编号是$rt$,设你依次拆边$(p_1,rt),(p_2,rt)...(p_{n 1},rt)$,那么最后你会发现$a_{rt}$到了点$p_1$,
阅读全文
摘要:【LG4437】[HNOI/AHOI2018]排列 题面 "洛谷" 题解 题面里这个毒瘤的东西我们转化一下: 对于$\forall k,j$,若$p_k=a_{p_j}$,则$kW_{ba}$则$\frac{W_a}{m_1} include include include include incl
阅读全文
摘要:【ARC098F】Donation 题面 "atcoder" 题意: 给定一张$n$个点,$m$条边的无向图。这张图的每个点有两个权值 $a_i,b_i$。 你将会从这张图中选出一个点作为起点,随后开始遍历这张图。 你能到达一个节点 $i$当且仅当你的手上有至少$a_i$元钱。当你到达一个节点$i$
阅读全文
摘要:【LG3295】[SCOI2016]萌萌哒 题面 "洛谷" 题解 考虑现在我们如果一次只是限定两个位置相等该怎么做, 直接将这些位置用并查集并起来然后答案就是 $$ ans= \begin{cases} 10 & n=1\\ 9\times 10^{t 1} & \text{otherwise} \
阅读全文
摘要:【LG3247】[HNOI2016]最小公倍数 题面 "洛谷" 题解 50pts 因为拼凑起来的部分分比较多,所以就放一起了。 以下设询问的$a,b$为$A,B$, 复杂度$O(nm)$的:将所有$a\leq A,b\leq B$的边两端,用并查集并起来,再看一看等于$A,B$的是否有端点在集合中即
阅读全文
摘要:题面 "洛谷" 题解 30pts 爆搜即可。 100pts 题意描述里有一句:"对每张图片$i$,小$D$都最多只记住了某一张质量不比$i$差的另一张图片$K_i$。" 即只有一个父亲,且$m\leq n$,所以建树,容易想到树形$dp$, 对于"$=$"的,直接用并查集将之看成一个点, 对于"$
阅读全文
摘要:【LG3206】[HNOI2010]城市建设 题面 "洛谷" 题解 有一种又好想、码得又舒服的做法叫线段树分治+$LCT$ 但是因为常数过大,无法跑过此题。 所以这里主要介绍另外一种玄学$cdq$分治 对时间进行分治 因为每次分治都必须要缩小数据规模 而我们这里貌似无法满足这个要求 引进了下面的玄学
阅读全文
摘要:【LG4185】[USACO18JAN]MooTube 题面 "洛谷" 题解 先将所有操作和询问离线 然后按照边权从大到小将操作和询问排序 利用$two\;pointers$,每次扫到一个询问,将边权大于等于它的边的两点全部都并起来 因为边权大的满足,那么边权小的一定也能满足 对于每个询问,直接查它
阅读全文
摘要:【BZOJ1050】[HAOI2006]旅行 题面 "bzoj" "洛谷" 题解 先将所有边从小往大排序 枚举钦定一条最小边 再枚举依次枚举最大边,如果两个点联通了就$break$统计答案即可 代码
阅读全文
摘要:【POJ1733】Parity game 题面 "vjudge" 题解 比较简单的分类并查集 将一个查询操作看作前缀和$s_r s_{l 1}$的奇偶性 将每个点拆成一奇一偶然后分别连边即可 如果一个点的奇点和偶点被连在一起了就判无解即可 代码 cpp include include include
阅读全文