斜率优化DP

Posted syzf2222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斜率优化DP相关的知识,希望对你有一定的参考价值。

现在是晚上零点三十分,我来写这篇文章,总结一下我今天学到的简单的斜率优化。

什么是斜率优化,就是将递推式写为y=kx+b的形式。

假设原递推式长这样:f[i]=min{f[j]+C},其中C可能是一个关于i的函数,一个关于j的函数,一个关于i和j的函数。

前两种情况可以通过单调队列来解决,但是情况三中无法分离i和j,只能使用斜率优化。

y=kx+b,其中y=f(j),k=f(i),x=f(j),b=f(i)+const,其中f(x)代表与x有关的一个函数。

光说是空的,我们来具体分析。

例题一:HDU3507 Print Article

网址:http://acm.hdu.edu.cn/showproblem.php?pid=3507

不难得到递推式f[i]=min{f[j]+(sum[i]-sum[j])^2+m};

去掉min函数并展开:f[i]=f[j]+sum[i]^2-2*sum[i]*sum[j]+sum[j]^2+m

将含i的项与含j的项分离,并把单纯含j的项写在左边:f[j]+sum[j]^2=2*sum[i]*sum[j]+f[i]-sum[i]^2-m

未完

以上是关于斜率优化DP的主要内容,如果未能解决你的问题,请参考以下文章

模板斜率优化dp

斜率优化DP和四边形不等式优化DP整理

『土地征用 Land Acquisition 斜率优化DP』

DP斜率优化

[DP优化方法之斜率DP]

斜率优化(DP)