斜率优化总结&基础题表

前言

毕竟要给自己看,还是写好看点吧

其实就是把之前放在某题里的小结大致上转到了这里罢了= =

斜率优化就是dp的一种,当方程中出现二次项之类的用这个来试试搞搞??降复杂度啊。


正式小结orz

总结的话,会截距式这种就好了!十分好用!

首先,你要会写出dp方程!真的,zz的我有时连方程都写不出来QWQ

如果能把方程化成f[i]=a(i)*b(j)+c(j)+(一个只与i有关的常数)这个形式!就能用斜率优化来做了!

为什么呢?!因为写成这个形式后:

拆项合并移项,不用教啦这个就

[a(i)表示一个与i有关的数,b(j)、c(j)亦如此]

移项:-a[i]*b[j]+f[i]=c[j]有没有很像y=kx+b!

把-a[i]看为斜率,b[j]为x,c[j]为y,画一条直线 

而这样,就能通过维护f[i],找到使f[i]成立的最小/大值


可以看出。答案f[i]就是直线与y轴的交点,即y轴上的截距

假如说题目要求求最小值,就是要截距f[i]最小。把之前的j(根据化出的式子)画点画在坐标系里,一如线性规划,把这条斜线自下往上平移时遇到的第一个点,即能使目前状态有最小值的点,那么显然需要维护一个下凸包啊,把那些肯定不会贡献的点删掉。(画图好麻烦..意会!)

最大值亦然。


题表

我做的都是在bzoj上(都是黄学长的题表里的hhh)的,而且都蛮基础。维护凸包都不用什么平衡树啊二分什么的!

====================================

bzoj1010[HNOI2008]玩具装箱 ->题解

bzoj1096[ZJOI2007]仓库建设 [懒得写题解了- -

bzoj1597[USACP2008 Mar]土地购买 ->题解

bzoj1911[Apio2010]特别行动队 ->题解

bzoj3156 防御准备 ->题解

bzoj3675[Apio2014] 序列分割 ->题解

bzoj3437 小P的牧场 ->题解

bzoj4518[SDOI2016] 征途 ->题解



推荐博客

http://blog.csdn.net/balloons2012/article/details/7912296


转载于:https://www.cnblogs.com/Euryale-Rose/p/6527859.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值