<分区>
Possible Duplicate:
Algorithm to find the maximum sum in a sequence of overlapping intervals
我正在解决以下修改后的事件调度(贪心法)问题:
给定一个包含 n 个事件的集合 S,开始时间为 Si 和 fi,第 ith</strong> 事件的结束时间。还赋予权重wi,Foo 进行第 i 项事件所赚取的成本。
问题是选择使 foo 收入最大化 的事件。我们必须返回 foo 可以获得的最大成本。假设 Foo 一次只能从事一项事件。
注意:
这类似于经典 Activity selection problem ,这里唯一的区别是,对于每个事件,我们都会得到一个成本 wi 。而且这里的目标太不同了 -不是找到最大规模的相互兼容的事件集,在这个问题中我们必须找到使 foo 总收入最大化的那些事件集。
例子
Total activities N=4
Si fi wi
0 1 4000
2 5 100
1 4 3000
4 5 2500
Max earning=9500 (Answer)
我如何修改经典的贪婪事件选择算法来解决这个问题。我应该用什么逻辑来解决上面的问题?