DTOJ 1992. 购票(ticket)

题目描述

输入格式

输出格式

样例

样例输入
【样例输入1】 
73
1 2 20 0 3
1 5 10 100 5
2 4 10 10 10
2 9 1 100 10
3 5 20 100 10
4 4 20 0 10

样例输出
【样例输出1】 
40
150
70
149
300
150

数据范围与提示

题解

先考虑 t = 0 / 1 t=0/1 t=0/1,列出DP式后发现是一个斜率优化模板题,由于斜率不单调需要在凸包上二分。树上的话维护可撤销的栈即可。问题在于决策点有范围该如何解决,并不能在凸包上直接限制二分范围,因为有一些对于当前范围的最优决策点对全局并不是,会被弹掉。所以应该维护的是每个后缀的凸包,但这不能直接维护。又发现每加入一个点,所做的是查询一段后缀算出DP值,再加入这个点。单点修改区间查询考虑树状数组,用树状数组维护每个点包含的点的栈,查询时在每一个查询的点的栈中二分,取全局最大值即可,效率 O ( n l o g 2 ) O(nlog^{2}) O(nlog2)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值