K大数查询
标记永久化:1:26:00
如果外层线段树为下标线段树会发现没有办法快速维护,这个时候我们就要想到权值线段树:外层采用权值线段树,其每个节点维护一颗下标线段树,表示这个节点所代表的权值在序列中有多少个。如果
比如
对于这棵线段树中的
于是修改就可以变成
对于查询,很容易想到用二分,但是时间复杂度为
对于内层线段树,肯定要使用动态开点;对于区间修改可以使用懒标记和标记永久化,这里如果使用懒标记的话,下传的时候如果儿子没有开点是要先开一个点的,这样可能会导致多开很多个点,于是MLE,所以用标记永久化更能过