可能重复:
在一系列重叠间隔中找到最大和的算法
我正在解决以下修改后的活动调度(贪婪方法)问题:
给定一组 S 的 n 个活动,开始时间为Si和fi,完成第 i 个活动的时间。还给定权重wi,Foo 进行 ith 活动所赚取的成本。
问题是选择使 foo 收益最大化的活动。我们必须返回 foo 可以赚取的最大成本。假设 Foo 一次只能处理一个活动。
笔记::
这类似于经典的活动选择问题 ,这里唯一的区别是,对于每个活动,我们都被赋予了一个成本 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)
我如何修改经典的贪婪活动选择算法来解决这个问题。我应该使用什么逻辑来解决上述问题?