首页 > 代码库 > 总结#2----一类贪心问题
总结#2----一类贪心问题
有n项任务,每项任务有一个报酬(可以为定值),还有一个最迟完成的时间,你完成一项任务需要特定的时间(可以为定值),求你最多可以获得多少报酬。
这类题目一般是贪心,而且一般是从后往前贪,不过有时需要做一些变换。
例如
1.wikioi1052地鼠游戏=bzoj1572工作安排
时间为定值1,报酬不同
每个时间点选取当前可做的最大的报酬的工作,从后往前,要注意当前队列为空时直接跳转到下一个有工作时间点
2.bzoj1029JSOI2007建筑抢修
报酬为定值,时间不同
排序了之后,从前往后能做则做,否则如果将当前耗时最大的去掉而加上此工作可以使耗时更短则做
3.vijos1604作业调度方案
没有报酬,不按时完成有惩罚,时间相同,求最小惩罚
贪心选择当前惩罚最大的先完成,而且如果它的最迟时间是x,则从x-1到1扫有没有空余的位置,遇到则break
如果不能完成则将其放在尽量靠后的地方从n往x+1扫遇到则break
待补充
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。