HDU 3842 Machine Works cdq分治 斜率优化

本题是利用cdq分治  实现斜率优化的一个题目

斜率优化之前做的几个题都是斜率单调,并且插入点时由于点在某一维单调,所以仅仅操作队首和队尾就能完成优化了

但是本题显然不是 


主要参考了两个东西

从《Cash》谈一类分治算法的应用

(Day1)cdq分治相关

这两个直接在百度上搜 ,第一个出来的就是


本题的题意是

一个公司获得了一个厂房n(10^5)天的使用权
和一笔启动资金C(10^9),准备在n天里租借机器生产来获得收益
可以租借的机器有M(10^5)个,每个机器有四个值,D,P,R,G (D<=n, P,R,G都是10^9)
表明你可以再第D天花费P费用(首先手里必须有那么多钱)
租借这个机器,从D+1天开始该机器每天产生G的收益,在你不需要机器时
可以卖掉这个机器,一次获得R的钱


需要注意的是:
厂房里只能停留一台机器
不能再购买和卖出机器的那天操作机器,但是可以再同一天卖掉一台机器再买一台
在第n+1天,必须卖掉手里的机器
问n+1天后能获得的最大资金


根据这个题意

我们可以得到一个dp转移方程

首先要想的问题是是否有场地就要放机器

最开始的时候肯定不是这样,因为怕买到坑的机器很可能会亏钱,但是假设你买到了一台好的机器,在下一个机器进来之前,你肯定是一直运转下去的

然后得把所有的时间都离散化,就是每个机器的D

然后用f[i]表示在D[i]时刻卖掉手里的机

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值