思路
赛时完全没有思路
考虑 \(a_i - a_{i - 1} = 1\) 的转化
容易发现其等价于 \(a_{i - 1} - (i - 1) = a_i - i\)
把 \(a_i \to a_i - i\)
问题转化为
求将某一个区间全部变成同一个数的最优方案
考虑到这是经典贪心, 我们把一个区间全部变成其中位数最优, 问题转化为求 \([L, R]\) 区间的中位数, 然后直接暴力
容易发现对于固定的 \([L, R]\) , 其最优操作次数严格不小于其子段, 我们可以用双指针维护即可, 动态维护中位数可以用 \(\rm{multiset}\) 维护对顶堆
总结
\(a_i - a_{i - 1} = 1\) 的经典转化
有单调性的柿子考虑双指针维护