CF1827B1 Range Sorting (Easy Version)
https://codeforces.com/problemset/problem/1827/B1
求“美丽值”可转化为:将数组划分为尽可能多的连续段,使得每一段的最大值都小于下一段的最小值。
考虑在已知区间 \([l, r]\) 最优划分的基础上,加入 \(a_{r + 1}\) 得到 \([l, r + 1]\) 的最优划分。找到最靠右的最大值 \(< a_{r + 1}\) 的段,并将其右边的段与 \(a_{r + 1}\) 合并为一个新段,单调栈维护即可。

浙公网安备 33010602011771号