其他分享
首页 > 其他分享> > Atcoder ABC 263E 期望,数学

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,并对一些个人觉得有点问题的地方进行了修改,如有错误请指出)

标签:Atcoder,骰子,ABC,期望,dfrac,sum,编号,263E,dp
来源: https://www.cnblogs.com/luyiming123blog/p/16558222.html