考虑一个 m a x x ( x , l , r ) maxx(x,l,r) maxx(x,l,r)表示以左端点为 x x x,右端点在 [ l ∼ r ] [l\sim r] [l∼r]的范围内的最大值,那么维护的最大值也就是 s [ m x ] − s [ l − 1 ] s[mx]-s[l-1] s[mx]−s[l−1],而只有 m x mx mx是变动的,所以可以用RMQ去求解,把这个三元组扔进一个大根堆里面,跑 k k k次,但是处理完一个三元组后需要把它拆成 m a x x ( x , l , m x − 1 ) maxx(x,l,mx-1) m<