斜率优化:
1.算法用途:用于优化一些DP形如的式子:
2.算法步骤:(例题:)链接
1.推出DP方程式:
2.设在求时从转移比从转移更优
3.写出一个不等式
4.拆开移项合并同类项:(形如)
5.继续变形变成:
6.设,
7.则原式可以写成:
8.因为呈单调性,所以的转移一定比优(见下图)
9.这其实是下凹凸包(链接1:大佬博客)(链接2:百度百科)
10.所以可以用一个单调队列,过程如下:
11.一直往下,直到解比队尾更优
12.所以开始的时候直接从队头开始进行DP
小结:
1.要先想出DP方程式
2.写出不等式
3.根据题意化简变为斜率优化的样子