斜率优化

是否还在为斜率优化发愁?怎么理解?怎么写?快看本博客,分钟解千愁,大伙看了都说好,机不可失,失不再来,史上最优秀的小白级讲解,令人拍案叫觉,交口称赞,享誉全球。

我是认真来作解说的

先看一道经典题特别行动队 可以列出转移方程

[dp_i=max left{ dp_j+a(sum_i-sum_j)^2+b(sum_i-sum_j)+c ight} ]

(i)有关的项当成常数,跟(j)有关的项当成变量。我们把右边式子写成(i*j_1+j_2+c)的形式!

设想坐标系里面有一些点((j_1,j_2)),有一个直线 (y=-ix+b) 直线可以随意上下平移!

如果直线和这个点相交了,你发现了什么?没错!直线和y轴交在了b, (b=i*j_1+j_2)!!就是我们要求的dp值!

然后啊,暂时掌握单调队列维护凸包就可以了。这个题求最大值,直线从上面往下掉,碰到第一个点的时候就是(dp_i)啦。

相信聪明智慧的你已经学会啦!

参考博客 要详细一些。

原文地址:https://www.cnblogs.com/happyguy/p/13890261.html