luogu4040
题目描述
有
数据范围是
解题思路
较大的数据范围反而提示了本题的做法。我们可以求配送了
考虑这个问题怎么处理。由于每个物品可以选择无限次,因此对于两个物品,费用贵且保质期短肯定更不优秀。换言之,我们维护的序列最终是一个保质期和价格均单调递增的序列。
对于这个序列,我们相当于要选择出
剩下的钱全部用来吃本物品。
剩下的钱不能全部用来吃本物品,原因是本物品的保质期限制住了物品数量的增长。
对于情况1,我们分析可以发现,剩下的钱如果连本物品都不能再吃,剩余物品更不可能。因此结束。
对于情况2,我们分析可以发现,本物品一定是吃到保质期了。
因此对于情况1的转移,必定是
对于情况2的转移,必定是
判断一个物品在不考虑保质期情况下能吃的最大天数为
如果最大天数小于等于保质期,那就是情况1,反之是情况2.
接下来我们考虑怎么确定这个
给出一个三分法的模版:
1 | ll tsearch(ll cost, ll per_cost) { |
- Title: luogu4040
- Author: zzyNorthPole
- Created at : 2023-01-08 21:58:49
- Updated at : 2023-04-23 23:26:46
- Link: https://zzynorthpole.github.io/2023/01/08/luogu4040/
- License: This work is licensed under CC BY-NC-SA 4.0.