题解:AT_agc040_e [AGC040E] Prefix Suffix Addition

posted on 2025-02-19 12:26:41 | under | source

操作顺序无影响,不妨拆为 \(a_i=p_i+q_i\)\(p,q\) 分别用两种操作完成。

\(0\to A\) 等价 \(A\to 0\)\(p,q\) 是对称的,这里先考虑 \(p\)。容易发现一个上界:极长非下降段的个数,只需每次消掉一段即可。又可以发现这是下界,因为一次操作至多消掉一个极长段。

易得 dp,记 \(f_{i,j}\) 为考虑前 \(i\) 个,\(q_i=j\) 时最小代价,转移:

\[f_{i,j}\gets \min(f_{i-1,k}+[k<j]+[a_{i-1}-k>a_i-j]) \]

难以用数据结构维护,考虑一些性质。可以发现,当前继决策 \((i-1,k)\) 固定,\(j\) 越大,\(f\) 不降。这是因为后面两个式子肯定是 \(j\) 越大越容易满足。

同时,\((i-1,k)\) 得到的 \(f\) 的极差不超过 \(2\)。容易归纳证明 \(f_i\) 的极差不超过 \(2\)

那就好做了,维护三个连续段表示 \(f_i\) 构成的分段函数。转移只需考虑每个连续段结尾,原因同上 \(k\) 越小这两个式子越容易满足。可以二分 \(O(n\log n)\) 也可以分讨 \(O(n)\)

posted @ 2026-01-15 08:13  Zwi  阅读(4)  评论(0)    收藏  举报