Atcoder ABC 263E 期望,数学

题意

\(n\)个地方,编号为\(1\sim n\),每个地方有一个骰子,骰子上标有整数\(0,1,\cdots , A_i\),一个人在\(i\)掷骰子到\(j\),那么他会走到编号为\(i+j\)的地方。若一个人不在编号为\(n\)的地方,那么他会一直投骰子。求投骰子的期望次数。\(n \le 2 \times 10^5,A_i \le n - i\).

Solution

根据套路,设\(dp_i\)\(i\)\(n\)的期望次数,有\(dp_n=0\).
考虑\(dp_i(i < n)\)的情况,发现投到0的情况有点难处理,根据期望的线性性,单独处理。

\[dp_{i} = \dfrac{\sum_{j = 1} ^ {A_i} dp_{i + j} }{A_j} + X + 1 \]

其中\(X\)是投到\(0\)后投骰子的期望步数。
推导\(X\)

\[X = \left( \sum_{j = 0} ^ {+\infty} \dfrac{j}{(A_i + 1) ^ j} \right) \cdot \dfrac{1}{A_i + 1} \\ 注意到\sum_{j = 0} ^ {+\infty} \dfrac{j}{(A_i + 1) ^ j} = \dfrac{A_i + 1}{A_i^2}\\ 则X = \dfrac{A_i + 1}{A_i^2} \cdot \dfrac{1}{A_i + 1} = \dfrac{1}{A_i}\\ 带回原式,有dp_i = \dfrac{\sum_{j = 1} ^ {A_i} dp_{i + j}}{A_j} + \dfrac{1}{A_i} + 1\\ \]

前缀和搞搞即可。

(本文参考本题官方Editorial,并对一些个人觉得有点问题的地方进行了修改,如有错误请指出)

posted @ 2022-08-06 23:42  luyiming123  阅读(74)  评论(0编辑  收藏  举报