の最小和を見つけるBの端部からAの端からa>0
要素とb>0
要素を削除しますそのような操作のコストを、X
がA
とY
から削除されたa
要素の合計であるb
要素の合計がB
から削除されたものであると評価します。両方の配列が空になるまで、これを続けます。目標は総コストを最小限に抑えることです。与えられる2つのアレイは、2つのアレイ<code>A</code>と<code>B</code>、各含有<code>n</code>非負の数を考える製品
動的計画法と、最適戦略が常にA
またはB
から1つの要素を取るという事実を利用すると、O(n^3)の解が見つかります。今私は、この問題のさらに高速な解決策があるかどうかを知りたいのですか?
EDIT:コメントで@recursiveから例を盗む:
A = [1,9,1]とB = [1、9,1]。 20のコストで行うことが可能(1)* (1 + 9)+(9 + 1)*(1)
私によると、解決策は、各配列の最後の2つの要素を選択して、それらを合計してから追加する必要があります。に)。 –
私が間違っている場合は、私に問題のステートメントを明確にしてください –
あなたの声明によると、Aの最後とBの終わりから削除する必要があります –