给定长为$n$的序列$A_i$,两种操作:
1. 将某个数$A_i$修改为$v$。
2. 查询用区间$[l,r]$内的数不能组成的最小的数(能组成$v$是指存在一个$[l,r]$的子集$s$使$s$的和等于$v$)。
$n,A_i\leq 2\times10^5$。 ...
分类:
编程语言 时间:
2020-12-10 10:50:09
阅读次数:
4
话说主席树还没写就先写这一篇了$qwq$ 回顾一下主席树的实现过程:类似查分思想,将线段树的每次修改看做函数式以支持可持久化。因为这样的线段树是可减的。 那么我们维护信息的时候,就要维护每一次新形成的信息。但是我们可以根据前一个信息的基础上进行改动,而不必要去再建一棵树。 所以总而言之,是前缀和的思 ...
分类:
编程语言 时间:
2020-02-11 11:20:46
阅读次数:
96
给出一段序列,每次修改某个数的值和询问区间第 k 小。$(1\le n,m\le 10^5,0\le a_i\le10^9)$ "Luogu" 分析 动态主席树裸题。 树状数组套主席树,树状数组的每个结点相当于一棵主席树,每次修改操作只在对应树状数组的 logn 个结点所对应的主席树上修改,查询时, ...
分类:
其他好文 时间:
2020-02-04 00:46:40
阅读次数:
70
pass 首先,个人觉得把这个数据结构理解成树状数组套主席树是十分不严谨的。主席树的本质是可持久化权值线段树与前缀和思想的结合。而动态主席树是可持久化权值线段树与树状数组思想的结合。并非树套树般的泾渭分明的叠加。 其次,大概讲下对动态主席树的理解。我们静态主席树中,第i个版本维护的是[1,i]的权值 ...
分类:
其他好文 时间:
2020-02-02 17:35:38
阅读次数:
71
「CQOI2011」动态逆序对 "传送门" 树套树。 删除一个位置的元素带来的减损数等于他前面大于它的和后面小于它的,然后这个直接树状数组套主席树维护一下就好了。 参考代码: ...
分类:
其他好文 时间:
2020-01-24 00:28:56
阅读次数:
103
<学习计划> 一、重点学习新算法 1.平衡树splay,动态树LCT 2.(任意模数)NTT 3.莫队算法 4.带修主席树(树状数组套主席树),线段树/树状数组套平衡树 5.后缀数组/后缀自动机 二、刷题,复习、巩固在OJ上打星号的题目 <注意事项> 1.考试时无论题目有多难,都要努力想正解,不要理 ...
分类:
其他好文 时间:
2020-01-21 00:32:52
阅读次数:
92
这里提供了静态主席树及动态主席树(树状数组套主席树)的模板。 分别应用于静态区间第k小及动态区间第k小。 静态: ~~思路好想码量巨大警告~~ ...
分类:
其他好文 时间:
2019-12-14 10:05:47
阅读次数:
98
思路:数据结构 提交:Inf次 题解: 树状数组套主席树 考虑静态区间第k大是一个前缀主席树,但是如果修改是 $O(nlogn)$ 的,查询时 $O(logn)$ ,考虑去均衡两部分的复杂度,如何均衡的维护前缀和?于是上了树状数组。于是乎主席树 $i$ 维护的是 $[i lowbit(i)+1,i] ...
分类:
其他好文 时间:
2019-09-14 11:49:36
阅读次数:
99
比树状数组套主席树不知道高到哪里去了,solve(l,r,L,R)就是对于L,R的操作区间的答案都在l,r区间里,然后递归下去 复杂度O(nlognlogn),每个操作会执行logn次就是o(nlogn),带上bit就是loglogn // pragma GCC optimize(2) // pra ...
分类:
其他好文 时间:
2019-02-11 13:03:08
阅读次数:
202
P2617 Dynamic Rankings 题目描述给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后, ...
分类:
编程语言 时间:
2019-02-09 11:55:26
阅读次数:
233