Related
In following contests:
热门手游Y又迎来了大版本更新了,这次出了新的副本。这次副本中新增了 N 个任务,每一个任务都需要花费一个单位时间,每个任务都有自己的截至时间和获得固定的佣金。
塔子哥从 1 时刻开始开启副本,将持续在线玩 109个单位时间。在任一时刻,塔子哥都可以选择编号 1 到 N 的 N 个任务中的任意一个任务来完成。 由于塔子哥在每个单位时间里只能做 1 个任务,而每个任务都有一个截止日期。所以塔子哥可能不得不放弃一些任务来尽可能地获得最大的佣金。
对于第 i 个任务,有一个截止时间Di,如果塔子哥可以完成这个订单,那么他可以获的 Pi 个佣金。 塔子哥想尽可能地获取更多的佣金来购买更高级的装备,那么塔子哥该选择做哪些任务才能得到更多的佣金呢?
把题目转换成卖n件商品 每件商品的过期时间为d 怎么卖可以使得利益最大化?
首先,我们可以将商品按照过期时间进行升序排列,然后我们可以按顺序去枚举每一件商品是否选择,整个选择的过程可以使用小根堆这个数据结构来维护 小根堆的size不会超多当前的过期日期(如果超过了,就需要考虑当前商品的价格和小根堆的top元素大小)然后根据大小进行调整 最后把小根堆中的价格累加即可
In following contests:
本题属于以下题库,请选择所需题库进行购买