
并查集
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
csp模拟 生与死的境界【贪心】【带权并查集】
传送门 合并使得x,y变成一个x+2y的数,求最后剩一个数的最大值。 每次询问针对一个区间。 首先发现,这个数列每合并一次,都会对从第二个数开始的所有数,依次多产生系数的贡献,k依次增加。 也就是说,合并两个快,对左边的块没有影响。 那么我们从最后开始考虑,如果当前块是正数,则和前面块合并,会增大贡献。反之不会。 按照这个方式进行到最后得到的块序列除了第一块可能为正,其它块和都是负数,...原创 2019-11-11 21:10:58 · 200 阅读 · 0 评论 -
【HNOI2012】永无乡【线段树合并】【并查集】
传送门 其实很裸,用并查集维护每个点的信息已经别合并到哪个线段树里面了,然后权值线段树查第k大就行。 我一开始和naive地没用并查集,然后发现rt没有传递性。 写着写着反应过来,,其实一开始也可以这么写,,用rt当并查集用就行,,我感觉更naive了。 #include<bits/stdc++.h> using namespace std; #define in read(...原创 2019-10-29 21:39:26 · 112 阅读 · 0 评论 -
【并查集】【JSOI2008】星球大战
传送门 10年前的省选题,,果然是水题。 大意是说,有一个无向图,不一定联通,每次删掉一个点,给出当前联通块数。 第一反应暴力是去掉一个点就dfs一次,目测 但数据是200000,所以我们要优化一下。 联通块和并查集往往是同生共死的。 而给出的询问是一起给出来,并且前期的询问对后期不会有必须在线的影响。 这意味着我们可以先把所有要去掉的点去掉,从最后一个询问开始加回去,每加入一个点就...原创 2018-12-30 15:03:08 · 120 阅读 · 0 评论 -
[SDOI2013]森林[树上主席树]
传送门ovo 我的主席树启蒙题目之一(之前是普通模板) 对于一棵树,我们如何使用主席树算法? 答案是像树上差分那样,以父亲为基础向儿子建立主席树,这样就可以利用树的优秀的dfs性质。 每个主席树维护的是自己到根的所有信息。 那么查询两个点x,y的信息就是经典的x+y-lca(x,y)-fa(lca(x,y) )。(可以脑补一下) 然后对于连边操作,我们使用启发式合并,将size比较小的...原创 2019-03-16 10:24:13 · 217 阅读 · 0 评论 -
【TC SRM 540 Div1】ProductQuery(区间dp)(记忆化搜索)(带权并查集)(中国剩余定理)
这神题,,好神 第一步我没想通就GG了。 题目求%10,根据中国剩余定理,我们可以把它分解为%2和%5,一个对应%2和%5的值唯一对应%10。 这样我们就可以将一个询问转成前缀积之比。 分成两个子问题处理,然后进行区间处理。使用记忆化搜索加速。 搜索边界是区间无询问了,那就什么情况都可以了,快速幂即可。 对于一个区间的询问,有两种可能:区间有包含询问为0的,和不包含的。 先区间...原创 2019-10-10 07:44:22 · 154 阅读 · 0 评论