2016-07-28 8 views
0

私はアルゴリズムの問​​題があります。私は解決しようとしましたが、解決策を得ることができませんでした。私はそれがdpを使って解決できるが、ニッチをかなり得ていないことを知っている。 memoization algoを使った再帰的なdpは私には理想的です。小さなヒントやリンクでも可能です。任意の日に、彼は正確にりんごの1を販売している店主が重量の 『n』のリンゴを持っている」DPを使用して利益を最大化しますか?

しかし、原因菌に、リンゴはその重みを失うので、店主が稼いでいる:。問題文です。彼は体重のリンゴの日に「d」を売る私は% dの(すなわち、 MOD D)の利益。 店主は「

を作ることができる最大の利益は何ですか

入力: 最初の行は「n」、2行目はn個のリンゴの重みを含みます。

例:

入力:

出力:

説明:店主は初日にリンゴ4を販売し、 2日目にリンゴ3。したがって、利益= 4%1 + 3%2 = 1

+1

問題文はあまり意味がありません。りんごの価値は時間の経過とともに減少しません。 4%1 = 0,4%2 = 0,4%3 = 1,4%4 = 0,4%5 = 4,4%6 = 4 ... – m69

+0

店長はリンゴをいくつ持っていますか? – ead

+0

店長がd日目にa_i/dの利益を得たかどうかは、より意味をなさないでしょう。 modを撮るのは本当に奇妙なようです。 – user172818

答えて

3

私によれば、これは2者グラフの最大重量マッチングを使用して解決することができます。

店主はnりんごを持っていて、毎日1 to nから各りんごを割り当てなければなりません。彼はまた、関連するそれぞれの利益を知っています。

したがって、nxnの完全な二部グラフを形成することができ、ハンガリーアルゴリズムを使用して最大の重量一致を得ることができる。

+0

「最大加重2者一致」を意味しますか? – ead

+0

はい。もちろんそれは重み付けされています。 –

関連する問題