通常的dp转移为现在处理到的dp[i],要在前面的dp状态中找到一个最优的状态dp[k]转移过来。
设转移方程为dp[i]=max{dp[i],a[i]*x[k]+b[i]*y[k]}
相当于在二维坐标系中有很多点,要选取最优的点,产生最优的价值。
浅谈关于斜率优化中为什么能转换为横截式
而几乎每个点的X坐标和Y坐标都不相同,怎么比较最优?
相信大部分人都已经猜到了。
X和Y是存在转换比例的,且X转换到Y的比例就是a[i]/b[i],也就是图中的斜线的斜率。
那一条直线上的点都是等优的。
然后为什么是横截式就很简单了,就是将X全部转换成Y,就很容易看出最优了。
即我们要最大化直线方程Y(j)=-A[i]/B[i]*X(j)+dp[i]/B[i]的截距。
弄个凸包维护就行了,有单调性的话就用单调队列。
脑子热~~

相关文章:

  • 2021-10-05
  • 2021-06-17
  • 2021-06-08
  • 2021-06-09
猜你喜欢
  • 2022-12-23
  • 2022-02-13
  • 2021-12-31
  • 2022-01-22
  • 2023-03-20
  • 2021-10-26
相关资源
相似解决方案