AtCoder Beginner Contest 265 E問題 Warp
問題
提出解答
問題の概要
座標平面の原点にコマがある. このコマに対して, 以下の3種類の操作から1つを選び, 実行することを 回繰り返す.
- コマが にいるとしたとき, に移動させる.
- コマが にいるとしたとき, に移動させる.
- コマが にいるとしたとき, に移動させる.
ただし, 移動後にコマが のどれかに一致するような移動はできない.
回の移動経路は何通りか?
制約
- は互いに異なる.
解法
説明のため, 3種類の移動を上から順に移動1, 移動2, 移動3ということにする. また, とする.
動的計画法で求めることにする.
及び に対して, を
- 合計 回の移動のうち, 移動1を 回, 移動2を 回, 移動3を 回するような移動における移動経路の場合の数.
このとき, という条件が働くことから, である. よって, 動的計画法の次元を1減らすことができる. 以降では記号のら濫用にはなるが で同様の意味を表すとする.
ベース条件は のときで である.
のとき, 遷移式は のとき, として, 移動の方法による場合分けを行う.
- ならば に を加算する.
- ならば に を加算する.
- ならば に を加算する.
この動的計画法により, 最終解答は
である.
これにより, 時間計算量 時間で計算できる.