一类特殊的区间 dp

这类题目大概都是每次可以消除一个区间,并加上一些分数,然后合并左右。

这类题目的特点是区间外也会对区间的 dp 值产生影响,因此不能采用普通的区间 dp。

CF1107E Vasya and Binary String

考虑增加一维,\(f_{l,r,v}\) 表示 \(r\) 后面连着的一段长度为 \(v\) 的同色的(可能是删除一些后才连着),消除 \([l,r]\) 和后面连着的数的最大分数。考虑如何转移,发现有两种情况:

  1. 直接删掉 \(r\) 和后面连着的,此时有

    \[f_{l,r,v}=f_{l,r-1,0}+a_{v+1} \]

  2. 先删掉区间内的一个子区间,使 \(r\) 和前面某个同色的连上,枚举中间点 \(p\),此时有

    \[f_{l,r,v}=\min\limits_{p=l}^{r-1} f_{l,p,v+1}+f_{p+1,r-1,0} \]

最终答案为 \(f_{1,n,0}\)

P5336 [THUSC2016]成绩单

类似上题,\(f_{l,r,mx,mn}\) 表示 \(r\) 后面连着最大值 \(mx\),最小值 \(mn\) 的一段,发现数组开不下,因此记忆化搜索拿 map 存即可。

posted @ 2023-03-16 21:24  l_x_y  阅读(11)  评论(0编辑  收藏  举报