贪心法解决任务安排问题

看上去一个很复杂的问题,解法却出奇的简单,题目描述如下(懒得翻译了……):

We are given as input a set of n  jobs, where job j  has a processing time pj  and a deadline dj . Recall the definition of completion times 

Cj  from the video lectures. Given a schedule (i.e., an ordering of the jobs), we define the  lateness   lj  of job  j  as the amount of time  Cjdj  after its deadline that the job completes, or as 0 if  Cjdj . Our goal is to minimize the maximum lateness,  maxjlj

. Which of the following greedy rules produces an ordering that minimizes the maximum lateness? You can assume that all processing times and deadlines are distinct

.

只要按照结束时间对任务进行升序排列,得到的便是所求的解,非常简洁的贪心。正确性的证明,可以通过反证法,即假设最优的排列顺序不是升序,那么必定存在一个逆序对,交换这对任务,可以得到更优的解,这样就和假设矛盾了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值