区间取min线段树的一种奇妙势能分析

比如这题 设势函数=每个点所管区间内互异值的个数总和 一开始势能最大nlogn 操作1使得势能最多增加logn 操作2我们这样处理:每个点记录一下最大值和次大值,若x大于最大值退掉,若x在最大值与次大值之间则打一个tag,若x小于次大值则递归下去。 可以发现,每次递归下去时势函数都至少减1,这时我们要花费向下走左右子树,共2的时间。 那么,总的时间复杂度就控制在了势函数最大值(n+m) log n
相关文章
相关标签/搜索