若第 i-1 天选择的区间为 [L, R],则第 i 天的选择 [l, r] 至少满足以下两个条件之一:
l < L \le r
l \le R < r
也就是说,覆盖左端点并至少向左超出一个,或者覆盖右端点并至少向右超出一个。
于是,我们设计一个关于左右端点的状态:
对于第一行特殊处理,因为第一行可以选择长度为 1 的区间。
对于第 i > 1 行,我们做如下转移:
枚举区间 [l, r],满足 l < r;
计算 V = \max \Big((\max\limits_{p=l+1}^{r} f_{i-1,p}), (\max\limits_{p=l}^{r-1}g_{i-1,p})\Big) + \operatorname{sum}(l, r),容易证明这样能取遍符合条件的,i-1 行区间的选择。其中 \operatorname{sum}(l, r) 为第 i 行,第 l 到第 r 列的和。