这个题比一般主席树还要简单,但是用来练习主席树再好不过了,在这里我再放一下主席树板子。 代码: ...
分类:
其他好文 时间:
2018-12-22 16:34:03
阅读次数:
191
题意 $n$ 个数,$m$ 个操作,每次操作修改某个数,或者询问某个区间的第 $K$ 小值。 $1 \leq n \leq 50000$ $1 \leq m \leq 10000$ 思路 动态区间第 $K$ 小的模板题。回到主席树的职能,它维护了一排前缀线段树,假如我们要快速求一段区间的总和,显然优 ...
分类:
其他好文 时间:
2018-12-21 22:48:24
阅读次数:
201
" 传送门 " Solution 第二次学习可持久化线段树 打了一道裸题来练习一下…… 对于每个宗教都可以开一个主席树 基础操作 树剖lca Code c++ include define ll long long define max(a,b) ((a) (b)?(a):(b)) define m ...
分类:
其他好文 时间:
2018-12-18 02:07:02
阅读次数:
216
题意:给定长度为N的a数组,和b数组,a和b都是1到N的排列; 有两种操作,一种是询问[L1,R1],[L2,R2];即问a数组的[L1,R1]区间和b数组的[L2,R2]区间出现了多少个相同的数字。 一种是修改b数组两个位置的值。 思路:如果把b数组每个数取对应a数组对应数的位置,即按照b的下标建 ...
分类:
编程语言 时间:
2018-12-16 14:33:50
阅读次数:
376
询问的化我们可以建主席树。然后修改?,树套树。。。,最后插入?炸了。 所以我们对操作进行分块。 我们先对整棵树建一个主席树。修改,插入我们先记录下来。然后询问的时候先对主席树查询,然后暴力遍历我们记录下来的修改插入操作。每$\sqrt{m}$次操作后我们重新构建一个主席树。这样我们保证了重建主席树和 ...
分类:
其他好文 时间:
2018-12-15 19:47:59
阅读次数:
173
1.斜率优化dp中,若原数据太大,则不要将斜率交叉相乘(可能爆long long),而应使用long double比较slope 2.不带修改的前缀主席树:o=++gt; 带修改的BIT套主席树:if(!o)o=++gt; 3.树剖:应为 while(top[x]!=top[y]){if(dep[t ...
分类:
其他好文 时间:
2018-12-15 15:55:22
阅读次数:
174
题意:区间mex 题解:主席树维护,按权值插入,维护区间最小值,第x颗线段树,区间l,r表示l到r在1到x出现最后的最早一个是哪个位置 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // p ...
分类:
其他好文 时间:
2018-12-15 15:43:13
阅读次数:
170
主席树是啥?? 主席树其实就是可持久化线段树。。。 原来听这个名字一直觉得很厉害,但是后来知道它就是可持久化线段树之后。。。 其实根本不用看网上博客口胡就能写出来了。 可持久化数据结构 可持久化数据结构就是在原来的数据结构基础上增加访问历史版本的功能。 如果不可持久化怎考虑这个问题? 有一种直接的方 ...
分类:
其他好文 时间:
2018-12-15 10:28:48
阅读次数:
138
Mario is world-famous plumber. His “burly” figure and amazing jumping ability reminded in our memory. Now the poor princess is in trouble again and Ma ...
分类:
其他好文 时间:
2018-12-15 10:26:16
阅读次数:
227
ittle w and Discretization 主席树维护Mex。 每个右端点 r 维护出一棵 在[1, r ] 区间中 其他所有的 值离这个 r 最近的的位置是多少。 然后询问区间[L,R]的时候,从rt[R] 出发,然后如果左儿子的中所有出线位置的最小值 >= L, 则说明他们所有的点都出 ...
分类:
其他好文 时间:
2018-12-15 00:14:43
阅读次数:
171