CF2161D题解

传送门:https://codeforces.com/problemset/problem/2161/D

考虑保留某些元素,我们发现一个元素是否保留只由该元素减一的元素的保留情况有关,我们将(元素大小,索引)对排序拉进一个新的二元组序列 \(b\) ,以元素大小为第一关键词,负的索引为第二关键词(为了找到连续的一段 \(a_i = a_j + 1, i > j\) 的合法转移状态)从小到大排序后动态规划。

\(f_i\) 表示保留的最后一个元素为 \(a_i\) 时保留的最大元素。

显然有转移方程:

\[f_i = \begin{cases} 0 i = 0\\ \max \limits_ {0\le j < i \land (b_{j,0} \neq b_{i,0} + 1 \lor b_{i,1} > b_{j,1})f_j + 1 \end{cases} \]

posted @ 2025-11-18 13:09  Jefferyzzzz  阅读(18)  评论(0)    收藏  举报