CF19B Checkout Assistant 题解(dp好题,附推导过程)

题意

Bob的购物推车里有 n n n 个物品,每个物品的价格是 c i c_i ci,会占用服务员 t i t_i ti 的时间进行结账。Bob是个坏孩子,在服务员被某个物品占用的期间,他每秒都可以偷走一个东西。请问他最少花多少钱就可以拿走所有的东西(偷走也行)。
注意:偷一个东西需要的时间是 1 1 1 秒,一个东西占用服务员的时间是 t i t_i ti 秒,别搞混了。

思路推导

什么?!偷一个东西和买一个东西的时间居然还不一样?完全糊涂了。只能找找他们之间的关系。记买的物品的编号集合为 M M M,则偷的物品就是剩下的 n − ∣ M ∣ n-|M| nM 个(这个像绝对值一样的符号是求集合中元素个数的意思)。由于推导过程较长,非蒟蒻只需要看三个不等式,忽略文字。
M M M 中的所有物品会占用服务员 ∑ i ∈ M   t i \sum_{i \in M} \ t_i i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值