摘要:
"题意" 所谓线段树分裂其实是本题的在线做法。 考虑如果我们有一个已经排好序的区间的权值线段树,那么就可以通过线段树上二分的方法得到第$k$个数是谁。 于是用set维护每个升序/降序区间的左右端点以及对应的线段树根节点,区间排序就将区间拆出来,并将对应的线段树也拆出来。 拆线段树就是将前k个值建一棵 阅读全文
摘要:
"题意" 这题的思路实在巧妙。 首先我们肯定无法对区间进行sort,那么考虑如何使得sort简化。 问:如果给的序列是一个0 1序列,让你区间排序,那么怎么做? 答:建一颗线段树维护sum,求出当前区间中1的数目(query)cnt,之后(以升序排序为例)[l,cnt]都赋值为1,[cnt+1,r] 阅读全文