题解 CF702F 【T-Shirts】

题意:

题面上面很清楚了(

solution:

常用套路?

做过一道类似的,不过那个太板子了。

这两题本质相同,都是势能分析的暴力合并。

平衡树,大家都会,减掉 (k) 后,相对位置发生改变的,只有 ([1,k])([k+1,2k])
我们发现这个减法,如果减成功了,不会超过 (log) 次的。(这个是可以证明的每次减小的至少是一半,减到很小的时候就不会再减小了,所以是 (log) 次的)

具体点的做法大概就是,你根据值域分成三个部分,[1,k] && [k+1,2k] && [2k+1,inf]。
然后我们只需要将 ([1,k])([k+1,2k]) 有序的合并就好了。
怎么合并呢?你发现([k+1,2k])的权值的相对大小还是不变的,那么我们就直接递归把一个个点提取出来然后合并qwq。

原文地址:https://www.cnblogs.com/Isaunoya/p/13502760.html