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