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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值