算法导论15 dp 最高效益调度
2011-07-04 23:57
218 查看
换博客后的第一篇 以后把原来写的copy过来把。。
假设有一台机器,以及在此机器上处理的n个作业a1,a2,…an的集合。每隔作业aj有一个处理时间tj,效益pj,以及最后期限dj。机器在一个时刻只能处理一个作业,而且作业aj必须在tj连续时间单位内不间断地运行。如果作业aj在最后期限dj之前完成,则获得效益pj,但如果在最后期限之后才完成,则没有效益。请给出一个动态规划算法,来寻找能获得最大量效益的调度,假设所有的处理时间都是1到n之间的整数。
之前做过某某oj上的一道题 忘记了是哪个,遇到算法导论上这道题,又不知道怎么做了 不知道想法对不对 先post上来先:
令val[j]为时间是j时的最大收益 j的最大值是max_t
1.按照ai递减排序
2.for i from 1 to n
3. for j from di to ti
4. val[j]=max(val[j],val[j-ti]+pi);
5 val[max_t~di]=max(val[max_t~di],val[ai]) //update val[max_t ~di]
写的好乱。。。
哪位知道这是oj的哪道题,,留个言 ,thanks 先。
假设有一台机器,以及在此机器上处理的n个作业a1,a2,…an的集合。每隔作业aj有一个处理时间tj,效益pj,以及最后期限dj。机器在一个时刻只能处理一个作业,而且作业aj必须在tj连续时间单位内不间断地运行。如果作业aj在最后期限dj之前完成,则获得效益pj,但如果在最后期限之后才完成,则没有效益。请给出一个动态规划算法,来寻找能获得最大量效益的调度,假设所有的处理时间都是1到n之间的整数。
之前做过某某oj上的一道题 忘记了是哪个,遇到算法导论上这道题,又不知道怎么做了 不知道想法对不对 先post上来先:
令val[j]为时间是j时的最大收益 j的最大值是max_t
1.按照ai递减排序
2.for i from 1 to n
3. for j from di to ti
4. val[j]=max(val[j],val[j-ti]+pi);
5 val[max_t~di]=max(val[max_t~di],val[ai]) //update val[max_t ~di]
写的好乱。。。
哪位知道这是oj的哪道题,,留个言 ,thanks 先。
相关文章推荐
- 算法导论-15-7-达到最高效益的调度
- 算法导论-15-7-达到最高效益的调度
- 算法导论-15-7 达到最高效益的调度
- 动态规划--达到最高效益的调度
- 算法导论 ch15 动态规划 任务调度
- 达到最高效益的调度
- 达到最高效益的调度
- nyoj 括号匹配(二) 15 (区间dp) 好题
- nyoj 1249 物资调度(DP)
- nyoj 15 括号匹配(二)(区间DP)
- [openjudge] 数据包的调度机制(dp好题)
- 算法导论15-6
- 算法导论-15-4-计划一个公司聚会
- 算法导论第15章 动态规划-装配线调度
- 04 Dec 15 让PHP7达到最高性能的几个Tips
- 算法导论-装配线调度问题
- NYOJ 15 括号匹配(二)(区间dp)
- nyoj1249 物资调度(dp)
- nyoj 1249 物资调度(DP)
- nyoj 15 括号匹配(二)(区间DP)