标签:article 情况 有关 去掉 无法 acm 优化 通过 使用
现在是晚上零点三十分,我来写这篇文章,总结一下我今天学到的简单的斜率优化。
什么是斜率优化,就是将递推式写为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有关的一个函数。
光说是空的,我们来具体分析。
网址: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
未完
标签:article 情况 有关 去掉 无法 acm 优化 通过 使用
原文地址:https://www.cnblogs.com/syzf2222/p/12285944.html