题解:P10236 [yLCPC2024] D. 排卡

· · 题解

把删数反过来变成加数,初始双端队列为空,每次可以将左边或右边的数加入双端队列。

因为任何时候加的都是一个区间,所以考虑区间 dp,设 dp_{i,j,0/1} 为加 ij 的数,上一个取的是最左边 / 最右边的数,当前分数的最大值。

边界:dp_{i,i,0}=dp_{i,i,1}=0,只加了一个数。

状态转移方程:

答案:\max(dp_{1,n,0},dp_{1,n,1})