# Educational DP Contest J - Sushi - [問題文](https://atcoder.jp/contests/dp/tasks/dp_j) - [提出したコード](https://atcoder.jp/contests/dp/submissions/7716070) 期待値DPということなのですが、個人的にすごく難しく感じたので、 すこしまとめておきたい。 まず、状態をどう表現するかが、すこし難しい。たとえば、 \(\textrm{dp}[i_1][i_2] \cdots [i_n]\) というような状態を持とうとすると、 最悪 300次元配列になってしまい、また、状態の個数も大きくなりすぎてしまいます。 そこで、同じ枚数の寿司が乗っている皿同士を区別する必要がないことに着目すると、 以下のように表現することができます: - dp[x][y][z] : 残り3つの皿が x 枚、残り2つの皿が y 枚、残り1つの皿が z 枚である状態から、すべてなくすのに必要な試行回数の期待値 $$