区间调度

题目描述:

         有n项工作,每项工作分别在si时间开始,ti时间结束。对于每项工作,你都可以选择参加与否。如果选择了这项工作,那么从始至终必须全程参加。此外,参加工作的时间段里不能重复参加别的工作。目标是尽可能参加尽量多的工作,求最多能参加多少工作。

解题思路:

         区间调度问题可以被认为是动态规划问题的雏形,然而这个问题可以用类似贪心的思想解决。

         可以有一下几种方法:

1.      在可选工作中,尽可能选择开始时间最早的工作去做。但是很显然这种思想并不能解决参加工作最多的问题。

2.      每次选择用时最短的工作。但是在工作时间重叠的时候这种思路显然不可行。

3.      选取重叠最少的工作。在多个工作都重叠在一起时,无法选择。也不行。

4.      选取结束时间最早的工作。

最后一个思路是正确的。结束时间尽可能的早,就像背包问题中的背包剩余空间,可选择的时间范围相比与其他情况就更大,可选择工作数量就更多。

代码写在家里电脑上……等找到了补上。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值