主席树
nymph181
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【主席树】luogu_3834 可持久化线段树 1(主席树)
题意给出一个数列,求出l∼rl\sim rl∼r中第kkk小的数是多少。思路用线段树维护值域上每个数出现的次数,那么可以一个数一个数地插入,利用到前缀和的思想,用第rrr次插入后的线段树减去第l−1l-1l−1次插入的线段树就可以求出l∼rl\sim rl∼r中每个数出现的次数,进而可以用分治求出第kkk大的数。主席树就提供了支持了查询历史版本的线段树。代码#include<cst...原创 2019-05-31 22:22:54 · 226 阅读 · 0 评论 -
【主席树】luogu_3919 可持久化数组(可持久化线段树/平衡树)
题意如题,你需要维护这样的一个长度为NNN的数组,支持如下几种操作:1、在某个历史版本上修改某一个位置上的值2、访问某个历史版本上的某一位置的值思路主席树模板代码#include<cstdio>#include<algorithm>struct SegmentTree { int lc, rc; int dat;} tree[20000...原创 2019-06-01 17:07:27 · 187 阅读 · 0 评论 -
【主席树】JZOJ_3379 查询
题意查询区间第KKK大,不过是多个区间拼起来的区间。思路在普通区间第KKK大的问题中,我们只是做了一个区间,因为这里小区间的个数很小,所以我们可以直接暴力统计。代码#include<cstdio>#include<algorithm>struct node { int lc, rc, dat;}tree[6000001];int nn, n, m, k...原创 2019-07-11 20:39:44 · 273 阅读 · 0 评论
分享