贪心——时间/事件/任务调度问题

问题分析:

  会议/课程/任务调度问题也是典型的贪心策略问题。比如说,会议安排没有的事能在有限的时间内召开更多的会议。(任何两个会议不能同时进行)

算法设计:

  1.  初始化:将n个会议的开始事件、结束时间存放在结构体数组中,如果需要知道选中了哪些会议,还需要在结构体中增加会议编号,然后按结束时间从小到大排序,结束时间相等时,按开始事件从大到小排序。
  2. 根据岩心策略就是选择一个具有最早结束时间的会议,用last记录刚选中的结束时间。
  3. 选择第一个会议之后,依次从剩下未安排的会议中选择,如果会议i开始事件大于等于最后一个选中的会议的结束时间last,那么会议i与选中的会议相容,可以安排,更新last为刚才选中的会议的结束时间。否则,放弃i,检查下一个可以安排的会议

源代码: 

 

#include <iostream>
#include <algorithm>
#include <cstdlib>
#inc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值