这道题入门了 可持久化01Trie 可持久化Trie多数用来解决区间异或k值之类的操作,主要是由高位到低位按位贪心就可以了 其实和主席树是一样的,Trie本身也有前缀相减性,至于空间,动态开点就可以了。 当然我们需要记录每个节点的size 对于这道题,我们可以用线段树处理出每一个数作为次大值的区间, ...
分类:
其他好文 时间:
2017-12-05 12:00:33
阅读次数:
148
少年,想学带修改主席树吗 | BZOJ1901 带修改区间第k小 有一道题( "BZOJ 1901" )是这样的:n个数,m个询问,询问有两种:修改某个数/询问区间第k小。 不带修改的区间第k小用主席树很好写,不会的同学可以看一下 "这个" 。 加上修改怎么做呢?我们可以用数学老师成天讲的类比思想: ...
分类:
其他好文 时间:
2017-12-05 11:51:56
阅读次数:
146
这个东西有很多名字,主席树,可持久化线段树,函数式线段树。 我们用前缀和的思想,对每个前缀建线段树,区间表示数的大小,进行二分。 我在B站学算法:https://www.bilibili.com/video/av4619406/?from=search&seid=273452703862300118 ...
分类:
其他好文 时间:
2017-12-04 20:46:08
阅读次数:
201
http://www.lydsy.com/JudgeOnline/problem.php?id=2588 在树上建主席树 每个节点按它的father建一颗新树 对于路径(u,v)等价于(1,u)+(1,v)-(1,lca(u,v))-(1,fa[lca(u,v)]) root[u],root[v], ...
分类:
其他好文 时间:
2017-12-03 20:55:03
阅读次数:
157
我们知道我们可以通过主席树来维护静态区间第K大值。我们又知道主席树满足可加性,所以我们可以用树状数组来维护主席树,树状数组的每一个节点都可以开一颗主席树,然后一起做。 我们注意到树状数组的每一棵树都和前一颗树没有关系,so,并不需要可持久化,一个朴素的权值线段树就可以啦。 我们知道普通的线段树是刚开 ...
分类:
其他好文 时间:
2017-12-02 23:17:08
阅读次数:
323
Problem Description Jimmy wants to make a special necklace for his girlfriend. He bought many beads with various sizes, and no two beads are with the ...
分类:
编程语言 时间:
2017-12-02 16:21:09
阅读次数:
216
主席树就是所谓可持久化线段树。目前只会打区间k值操作。 那么带修改的呢?因为主席树目的上也是搞前缀和,所以类比数组操作,套一个树状数组就可以了。 谨以此纪念此类型树套树入门 ...
分类:
编程语言 时间:
2017-12-02 13:08:12
阅读次数:
224
http://www.lydsy.com/JudgeOnline/problem.php?id=3932 主席树棵题 按时间每次建一棵线段树 然后合并成主席树 考虑差分的性质 对于三元组(S,E,P) 每次修改变为 在S时间时,P处+1 在T时间时,P处-1 然后对应的区间也做相同的操作 根据修改操 ...
分类:
其他好文 时间:
2017-12-01 23:39:28
阅读次数:
213
n<=100000,m<=500000的图有点权边权,q<=500000个询问每次问从x出发经过不超过y的边权能到的点权第K大,加强版强制在线。 Emmmmmm有一个漂亮的方法来转化,就是对原图做MST,做的时候要连接两个点时不要直接连,新开一个点然后让这两个点连上这个点。 这样就把边权挂到树上了, ...
分类:
其他好文 时间:
2017-12-01 20:41:46
阅读次数:
99
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; struct node { int l,r ...
分类:
其他好文 时间:
2017-11-27 23:35:26
阅读次数:
157