No.016 D
※ コードは WA
が取れていない
ある海域 に体力 でいるときに, ゴールまでたどり着くまでの時間の期待値を とする. また, 海域 から行くことができる海域の集合を とする.
まずは海域 に体力 でいるときに撤退しなければならないかどうかを として, 以下の方法で調べる.
- ならば撤退しない.
- の要素について 以上の となる が存在するならば撤退しなければならない.
- の要素すべてについて が true ならば撤退しなければならない.
が true であるならば, ゴールにはたどり着けない.
さて, であるが, 海域 に体力 でいるときに撤退しなければならない場合は,
となる. そうでないときは,
となる. これを再帰的に計算して を求めればいいのだが, このままでは無限ループしてしまう.
そこで, 右辺の を とおいて, 左辺の を計算してみる. が真の値より大きければ, 計算した は より小さくなるので, この情報をもとに二分探索で を決定する.