AtCoder Beginner Contest 266 D問題 Snuke Panic
問題
提出解答
問題の概要
数直線上に高橋くんがいる. 座標 に穴があいている. あなたは時刻 に穴 にいる. そして, あなたは数直線上を速さ 以下で移動できる.
また, 匹のモグラが穴からでて, 番目のモグラは時刻 に穴 から出て, その時刻にその場所にいるとき, そしてその時に限りそのモグラを叩くことができ, 叩くと 点貰える.
最大何点貰えるか?
制約
解法
動的計画法で解く. で時刻 で座標 にいるような移動の方法における得点の最大値とする. そして, で時刻 に座標 からモグラが出ればそのモグラの点数, そうでなければ とする.
まず, ベースケースとしては のときで
である.
更新式は時刻 に座標 にいるためには時刻 の時点で のいずれかにいなければならないので,
である.
これにより, 求めるべき最終解答は
である. 時間計算量は 時間である.