一种新的 \(dp\) 优化方法
设 \(f[i][j]\) 表示涂到第 \(i\) 个球,涂了 \(i\) 和 \(j\) 的最小代价
首先能够想出一种朴素的转移方程: \(f[i][j]=min(f[j][k])+c[j]~(k>i+1-m)\)
这样是 \(O(nm^2)\) 的,我们尝试去优化
对于 \(j,i~\in~\{j+1,j+m-1\},k~\in~\{i+1-m+1,j-1\}\)
然后你会发现,如果倒叙枚举 \(i\),\(f[j][k]\) 范围依次变大,所以 \(k\) 就是 \(i-m\)
然后就搞定了
时间复杂度 \(O(nm)\)
#include