设 f i , j , l , r f_{i,j,l,r} fi,j,l,r表示区间 [ i , j ] [i,j] [i,j]已经删掉若干,剩下的那些元素中的最大值为 r r r,最小值为 l l l,删掉那若干个元素的最小代价; g i , j g_{i,j} gi,j表示将区间 [ i , j ] [i,j] [i,j]全部删完的最小代价。
对于 f i , j , l , r f_{i,j,l,r} fi,j,l,r,考虑 j j j这个元素是否被删掉了:
- 如果它已经被删掉,我们枚举它是和哪些元素一起删掉的,就有:
f i , k , l , r + g k + 1 , j → f i , j , l , r f_{i,k,l,r} + g_{k+1,j} \to f_{i,j,l,r} fi,k,l,r+gk+1,j→fi,j,l,r - 否则,
j
j
j没有被删掉,则得到
f i , j − 1 , l , r → f i , j , min { l , w j } , max { r , w j } f_{i,j-1,l,r} \to f_{i,j,\min\{l,w_j\},\max\{r,w_j\}} fi,j−1,l,r→fi,j,min{l,wj},max{r,wj}
对于 g g g,考虑我们是否对 [ i , j ] [i,j] [i,j]整体进行过操作:
- 如果没有,则
g i , k + g k + 1 , j → g i , j g_{i,k} + g_{k+1,j}\to g_{i,j} gi,k+gk+1,j→gi,j - 否则
f i , j , l , r + a + b ( r − l ) 2 → g i , j f_{i,j,l,r} + a + b(r-l)^2 \to g_{i,j} fi,j,l,r+a+b(r−l)2→gi,j
复杂度 O ( n 5 ) O(n^5) O(n5)。