# 问题描述
设有 n 个活动的集合 E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲,会议等,而在同一时间内只有一个活动能使用这一资源。
每个活动 i 都有一个要求使用该资源的起始时间 s [i] 和一个结束时间 f [i],且 s [i] <f [i]。如果选择了活动 i,则它在半开时间区间 [s [i] ,f [i]) 内占用资源。若区间 [s [i]] , f [i]) 与区间 [s [j], f [j]) 不相交,则称活动 i 与活动 j 是相容的。当 s [i]≥f [j] 或 s [j]≥f [i] 时,活动 i 与活动 j 相容。
活动安排问题就是在所给的活动集合中选出最大的相容活动子集合。
# 数据
# 算法策略:
活动结束早的优先选,排序使 f [1]<f [2]<f [3]<.......<f [n],从前向后挑选活动
# 代码
1 |
|