0

ネットで見た質問: メロンを売る農家が n 個のメロンを持っています。各メロンの重さ (整数 (ポンド)) は異なります。顧客はカットされていないメロンを丁度 m ポンド注文しました。ここで、農家は次の問題を抱えています。顧客を満足させることができる場合は、適切なメロンをできるだけ効率的に見つけて満足させるか、そうでなければ、顧客の要求を満たすことができないことを顧客に伝える必要があります。

注:これは宿題ではありません。指導が必要です。

私の答え: これは、コインの変更の問題 (ナップザック) とサブセットの問題 (バックトラック) に似ているようです。コインの変更: 重みをセット w = {5, 8, 3 , 2,....} に入れることができます。その後、サブセットの問題についても同じことが言えます。

基本的に、どちらの方法でもこの問題を解決できますか?

4

1 に答える 1

0

これはまさに、解の無駄がない整数ナップザック問題です。それを解決するのに役立つ優れた動的プログラミング/メモ化戦略があります。次のいずれかのリンクを参照してください。

http://www.cs.ship.edu/~tbriggs/dynamic/

https://en.wikipedia.org/wiki/Knapsack_problem

実際、部分和問題は、重みが各項目の値に等しい 0/1 ナップザック問題です。

于 2013-07-17T06:50:02.360 に答える