算法导论15 dp 最高效益调度

换博客后的第一篇    以后把原来写的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 先。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值