AtCoder Beginner Contest 266 E問題 Throwing the Die
問題
提出解答
問題の概要
正多面体のダイスがあり, このダイスを振ると のうちランダムで1つである. このダイスを用いて, 以下を考える.
- ダイスの出目をスコアにする. ただし, 気に入らないならば 回まで以下を行うことができる.
- その結果を捨て, 振り直す.
このスコアが最大になるように行動した場合, スコアの期待値を求めよ.
制約
解法
動的計画法で考える. で残り 回振れ, 現在のダイスの出目が である場合, 最良な選択をしたときの期待値とする.
まず, ベースケースとして
である.
次に更新式について, 振り直すを選択した場合と確定させる場合それぞれについて場合分けする. ここで, 振り直すを選択した場合の期待値はその時点での出目に関係無いことに注意すると,
である.
この動的計画法において, 最低でも1回はダイスを振らなくてはいけないことに注意すると, 求めるべき解答は
である.
なお, とすると, 及び, のとき,
となることも述べておく.