注意:以下 AtCoder Grand Contest 050-D Shopping のネタバレを思いっきり含みます. というかネタバレそのものです.
・問題
・計算量
公式解説のではなくの解法です. 6乗を許しているのはわざとなんでしょうか. りんごさんが4乗の解法を見落とすのか?という疑問があります.
・解説
まだ商品を受け取っていない人数
今から商品を選ぶ人が左から何番目か ( 人中)
現在何ターン目か (番の人が操作を行うことを1ターンとする)
とする。このときを、 人中左から 番目の人が商品を受け取れる確率として定義する. 特に ならば である.
残りの商品の数が個、今から商品を受け取る人( 人中 番目の人) がまだ調べていない商品の数が個なので、 番目の人が商品を即受け取れる確率は . 受け取る場合とそうでない場合について、場合分けしてメモ化再帰で回せばよい.
・コード例