Atcoder ABC 154 D - Dice in Lineをpythonで解く
コード本文
ABC154に参戦した。
この頃、競プロを少しかじっているので結構いい感じに解けるんじゃないかと思ったが、Cまでしか解けなくて落胆。
後日、解けなかったD問題を復習した。
以下通ったD問題のコード本文
コード解説
この問題で使うテクニックはしゃくとり法(または累積和)と期待値の基本的な知識
コードの流れは以下の通り
配列に収めたサイコロのそれぞれの期待値を事前に算出しておく。このときp種類の目が出るサイコロの目の期待値は(1+p) / 2であることに注意
しゃくとり法、または累積和を使って期待値の配列から長さがkの最大部分配列を算出する。
私はステップ1の期待値算出のところで期待値を(1+2+...+p) / pと計算してしまいTLEで爆死。
感想
ちょっといいスコア出るんじゃないかなと期待しつつ参戦したのにこの結果はかなり落ち込む。
とりあえず、数学、高校生からやり直してきます。