重複の可能性:
重複する間隔のシーケンスで最大合計を見つけるアルゴリズム
私は次の修正されたアクティビティスケジューリング(欲張りアプローチ)の問題を解決していました:
開始時間Siとfiを含むn個のアクティビティのセットSが与えられた場合、 i番目のアクティビティの終了時間。また、重みwiを考えると、i番目のアクティビティを実行するためにFooが獲得したコスト。
問題は、 fooの収益を最大化するアクティビティを選択することです。fooが獲得できる最大コストを返す必要があります。Fooは一度に1つのアクティビティにしか対応できないと想定します。
ノート::
これは、従来のアクティビティ選択の問題に似て います。ここでの唯一の違いは、アクティビティごとに、コスト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)
この問題を解決するために、古典的な欲張り活動選択アルゴリズムを変更するにはどうすればよいですか。上記の問題を解決するには、どのロジックを使用する必要がありますか?