
并查集(可撤销并查集/种类并查集/带权并查集)
文章平均质量分 66
可撤销并查集/种类并查集/带权并查集
小衣同学
No Saturday , no Sunday , no holiday .
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round 975 (Div. 1) D. Max Plus Min Plus Size(思维题 并查集/动态dp 线段树维护状态合并)
f[x][i][j][k]表示线段树的x节点,最大值有没有取到,左端点有没有选,右端点有没有选,如果最大值被包含在1 3 5里显然取1 3 5,否则换成2 4一定能取到最大值,是不劣的,对于最小值固定的话,对于1 2 3 4 5的连续段,要么贪心地取1 3 5,要么取2 4。如果存在一个连续段,使得选这个连续段中较多的那一半(奇数唯一,偶数均可)能取到最大值。则答案不需要减1,否则为了取到最大值需要反选,将答案减1。hhoppitree代码 + 官方题解。注意到最大值一定会被取到,原创 2024-09-28 19:48:44 · 942 阅读 · 0 评论 -
The 2024 ICPC Asia East Continent Online Contest (I) C. Permutation Counting 4(二分图完美匹配奇偶 模拟高斯消元/并查集)
出现一个[l,r]的一行时,连边l-1和r,说明矩阵里有一行是表示sum[r] -sum[l-1]=r-l+1的。左边点[1,n],右边点[1,n],左边点i向右边点[li,ri]里的每个点连边,问有多少种完美匹配。线性相关(秩为0)时行列式值是0,单位矩阵E的行列式值是1,给1的两行换一换行列式是-1。做法是对于每个[l,r],连边l-1和r,如果出现环,说明线性相关,否则线性无关。比如,[1,2]、[3,3]、[1,3],三个中知道任两个,自然能推第三个,因为矩阵里每行的1是连续的,可以理解成前缀和,原创 2024-09-17 00:32:21 · 1329 阅读 · 0 评论 -
洛谷P3209 [HNOI2010] 平面图判定(种类并查集/2-sat)
即:若AB区间段相交,则要么A在环内连且B在环外连,要么A在环外连且B在环内连。如果两条边的均在环内/均在环外,则两条边相交当且仅当环上两点构成的区间段相交。把环内连看成0,环外连看成1,每个点有两种选择,这就是一个典型的2-sat。可以先判掉m很大的情况,剩下的m不超过600,就可以两两判断是否相交了。对于其余的边来说,每条边有两种连的方式,要么在环内连,要么在环外连。换言之,为了使边均不相交,需要让区间段相交的边互斥,即不包括区间内含/区间包含但相交一个端点的情况。注意,本题中的相交,需要是严格相交,原创 2023-07-09 18:58:04 · 336 阅读 · 0 评论 -
牛客练习赛108 E.琉焰(非树边性质/线段树分治+可撤销并查集 or LCT)
非树边即为成环边,即并查集合并时已经在同一个集合里的边,维护其条数tot即可。即欧拉回路可以被拆成若干个环,并与刚才选取非树边时所取的环的方式一一对应。对于任意非树边(u,v),把树边u到v上的所有边都选中,即被覆盖1次,任取某个非树边集合S,会导致树边有些被覆盖奇数次,有些被覆盖偶数次,可以取走一个环,使得剩下的边仍然满足存在欧拉回路的条件,仅保留覆盖奇数次的树边,连通块内的点的度数就均为偶数了。由于涉及到类似图的连通块的动态维护,可以在线LCT做。所以,答案即为所有非树边任取非空子集,原创 2023-06-23 03:59:02 · 500 阅读 · 0 评论 -
2022年浙大城市学院新生程序设计竞赛(同步赛)D. Cutting with Lines Ⅰ(线段分割 离散化+并查集 补写法)
2022年浙大城市学院新生程序设计竞赛(同步赛)D. Cutting with Lines Ⅰ(线段分割 离散化+并查集 补写法)原创 2022-12-11 13:06:19 · 817 阅读 · 0 评论 -
Pinely Round 1 (Div. 1 + Div. 2) E.Make It Connected(思维题/并查集+分类讨论)
Pinely Round 1 (Div. 1 + Div. 2) E.Make It Connected(思维题/并查集+分类讨论)原创 2022-12-08 14:38:38 · 509 阅读 · 0 评论 -
Codeforces Round #836 (Div. 2) E.Tick, Tock(在线:带权并查集/离线:dfs判环)
Codeforces Round #836 (Div. 2) E.Tick, Tock(在线:带权并查集/离线:dfs判环+计数)原创 2022-12-07 21:32:25 · 486 阅读 · 0 评论 -
2019 ICPC Asia Nanchang Regional A.9102(可撤销并查集+带删除并查集)
题目 n(n<=1e6)个家庭,编号分别为1到n,初始下第i个部落只有第i个家庭,代表第0次操作后的版本, 以下m(m<=1e6)次操作,操作分5种, 1 k a b,把第k次操作后的a所在的部落和b所在的部落合并 2 k a,把第k次操作后的a所在的家庭删除 3 k a b,把第k次操作后a家庭移动到b家庭所在的部落 4 k a b,判断第k次操作的a家庭和b家庭是否在同一部落 5 k a,询问第k次操作的a家庭所在的部落的家庭数 特别地,如果a家庭和b家庭已经在同一部落里,忽原创 2020-07-09 12:39:45 · 785 阅读 · 0 评论 -
2018 CCPC-Wannafly Winter Camp Day3 I.石头剪刀布(带权并查集 按秩合并/路径压缩)
题目 思路来源 https://www.cnblogs.com/mountaink/p/10322513.html按秩合并 https://www.cnblogs.com/dilthey/p/10433419.html路径压缩 题解 首先,考虑答案怎么算,设被询问的人最终出的是石头 则他作为a次主场赢的人,出的是石头或者剪刀;他作为b次,客场赢的人, 出的是剪刀, 答案是,其中被询问的人放石头,其余按主、客、空位计算 三种情况对称,乘3即可,答案是, 当然也可以直接理解化简式的..原创 2020-06-24 03:17:33 · 337 阅读 · 0 评论 -
uva11987 Almost Union-Find(带删除并查集 动态开点思想)(bonus:abc279f)
uva11987 Almost Union-Find(带删除并查集 动态开点思想)(bonus:abc279f)原创 2020-06-22 00:44:28 · 495 阅读 · 0 评论 -
hdu3234 Exclusive-OR(带权并查集)
题目 题目叙述来自思路来源,懒得敲了2333…… 思路来源 https://blog.youkuaiyun.com/XY20130630/article/details/50638922 题解 考虑,把Xp XOR Xq=v这样的关系建成边,不妨p为root,则q与其相连,且置q的置为v,代表一种相对关系 后续,带权并查集维护的,也都是到祖先的这条链的异或值 Xp=v的一类型操作,将其视为Xp XOR 0=v, 由于原先的点的下标为0到n-1,则建一个虚点n,作一类型的0点, 考虑合并过程,.转载 2020-06-22 00:03:34 · 335 阅读 · 0 评论 -
Codeforces Round #616 (Div. 1) C.Prefix Enlightenment(种类并查集)
题目 给出一个长度为n(n<=3e5)的01串S, 给出k(k<=3e5)个集合,每个集合里是串里的一些位置的下标,保证对于任意三个不同的集合i,j,k, 你可以指定一个集合,将集合内的01全部取反,视为依次操作 问,对于每个i,需要至少多少次操作,可以将前缀i个数都置1(此时不用关心后面的数是0还是1) 题目保证有解 思路来源 https://blog.youkuaiyun.com/wyy603/article/details/104156509 题解 考虑,三个集合相交为空,说明每个元原创 2020-06-21 23:48:55 · 344 阅读 · 0 评论 -
洛谷 P2661信息传递(图论/出度均为1的有向图最小环 带权并查集/拓扑排序/最小强连通分量)
题目 共有n(n<=2e5)个人,第i(1<=n<=个人)指向的人是ti 显然是个出度均为1的有向图,求该图的最小环的大小,输出大小 思路来源 https://www.cnblogs.com/SINXIII/p/10374689.html 题解 三种做法, ①强连通分量,上个tarjan板子,求最小size的,输出即可 ②拓扑排序,注意到能清掉的点一定不在环上, ...原创 2020-03-19 16:20:16 · 493 阅读 · 0 评论 -
Codeforces Round #599 (Div. 2) D.0-1 MST(补图连通块/并查集)
题目 给一个n(n<=1e5)个,点m(m<=n*(n+1)/2)条边的图, 图本是完全图,这m条边的代价都为1,其余的边的代价都为0, 求这个图的最小生成树的代价,输出代价 思路来源 官方题解 题解 考虑把0边的在并查集都合在一起,忽略1边,就变成了补图x个连通块, 使x个联通块相同必须用1的代价,答案即补图连通块个数-1, 一条边只在点号大的时候考虑一次,对于一个...原创 2019-12-13 17:32:59 · 349 阅读 · 0 评论 -
Educational Codeforces Round 62 (Rated for Div. 2) F. Extending Set of Points(可撤销并查集+线段树分治)
题目 给定二维平面的集合S,扩展集合E(S)首先被定义为S,然后开始往里面加点 任取S内集合的三个点,如果它们能构成矩形的三个顶点,则把矩形的第四个顶点也加到E(S)里 最终的E(S),是不能再往里面加新的不存在的点的最大点集 现在给定初始为空的集合S,以下q(q<=3e5)个操作, 第i次给出一个点Pi(xi,yi), ①如果Pi已经在S中,就将Pi从S中删去 ②否则将Pi加...原创 2019-06-24 06:14:06 · 348 阅读 · 0 评论 -
hdu5923 Prediction(并查集/可继承的并查集+并查集合并)
题目 n(n<=500)个点,m(m<=1e4)条边,代表一个图G 以下m-1条边,生成一棵m个节点的魔法树 以下m条边,第i条边为树上的第i个节点所保存, q(q<=5e4)个询问, 每次给出k个节点,释放这些节点本身保存的边, 也释放这些节点在魔法树上的祖先节点保存的边, 这些边和原图G的所有节点构成一个新图G’ 对于每个询问,求G’的联通块的个数 数据保证...原创 2019-05-12 16:14:58 · 245 阅读 · 0 评论 -
hdu3047 Zjnu Stadium(带权并查集)
题目 1-300列,无限行 N个人,每人坐在一列 M个叙述,表示A所在的列在B所在的列的前x列 问有多少种说法是假的 即若A在B的前x1列,A又在B的前x2列,则假 思路来源 https://blog.youkuaiyun.com/shuangde800/article/details/7983965 题解 学了并查集这么久竟然没入带权并查集 可以说是很菜了 有个等价的食物链的题 可以用...原创 2019-02-20 18:41:16 · 343 阅读 · 0 评论