前言
听说 cnblogs 有些经济困难,所以先把那里的博文搬过来,当然还是祝愿 cnblogs 可以一直发展下去,听说 cnblogs 为了保命要出会员功能,如果确实合理的话也一定会大力支持的。
斜率优化学习笔记
前言
在十分懵逼的听完一上午集训课之后,狂补了一下午斜率优化,理解了,但是完全没有理解,因此写这篇博客巩固一下。
何为斜率优化?
在日常生活中,我们食用的状态转移方程有时会以以下形式出现
什么?你说这不是状态转移方程,这是一次函数。的确,这是一次函数,但是我们可以将一些形态的转移方程转换成这样的形式,以
设
得
我们先不考虑最小化的要求,单纯来看这个式子
我们将有只有
设
欸,带入一下我们就能发现熟悉的东西
那有人就要说了,你这不是强加因果吗。咦,此言差矣,这个解释起来很简单,由于在枚举
在转换完问题后,我们看看这个一次函数有什么性质。很明显,这是条直线(废话),并且可以上下平移(改变纵截距大小),既然要最小化纵截距,那就要尽可能地使直线靠下,为了找到这样的合法情况,我们可以考虑维护一个包含所有合法状态的下凸包。
这是一个下凸包
可以将红线纵截距视为我们要维护的最小值。
很明显,红线必然在凸包上,关于凸包的维护可以自行学习计算几何相关内容,这里暂时跳过,只说一下大体思路。
对于这道题,由于斜率
咕~~~