ABC251 E - Takahashi and Animals 解説
以下の個の行動がある.
- 行動: 動物と動物に円で餌をあげる
行動: 動物と動物に円で餌をあげる
行動: 動物と動物に円で餌をあげる
すべての動物に餌をあげるための最小コストを計算したい.
少し観察すると,次の特徴がわかる.
- 動物に餌をあげるためには,行動 か行動 の少なくとも一方は行う必要がある.
したがって,まず動物に対して行動か行動のどちらかによって餌を与えるか決め,さらに動物,と順に餌を与える方法を決めていく動的計画法で解けそうとわかる.
- : 行動 を使って番目の動物に餌を与えるための最小コスト
- : 行動 を使わずに番目の動物に餌を与えるための最小コスト
と定める.
動物に餌を与える方法は行動 か行動 のいずれかであるから,
によって求められる.
行動 を使っていた場合にはすでに動物 には餌を与えているので, と の小さいほうが答えである.
実装例
文章の説明と添字がずれているのと,テーブルの更新順が若干違うことに注意.