吉老师线段树简记

对于一个区间取最小值操作,在线段树的一个结点上维护最大值 \(mx\)、次大值 \(se\)、最大值的个数,然后对于一个操作与 \(x\)min,暴力找出区间定位中所有满足 \(se<x<mx\) 的结点,总操作次数 \(n\log n\),如果还有区间加,那么就是 \(n\log^2n\),证明就是考虑定义势能表示所有区间的不同数个数,进行分析即可,然后这个过程中维护一个 \(tag\) 表示要把最大值改成 \(tag\),对于区间加操作,可以维护两个标记 \(add1\)\(add2\) 分别表示最大值以及非最大值的加法标记,在 最假女选手 中维护三个标记分别表示最大值、最小值、其余值的加法标记,在 前进4 中还要维护每个单点被成功取最小值的次数,此时使用两个标记:一个是在这个生存周期内所有的最大值都要变成k,另一个是他在这个生存周期内从最大值变成k的操作次数,下传即可。

posted @ 2024-12-22 21:28  yaoyanfeng  阅读(18)  评论(0)    收藏  举报