题面 & 题解.
A. 棋子
考场猜的结论.
题目描述
给出一个 \(n\) 面骰子进行飞行棋,现在你距离终点有 \(n\) 的距离,每回合你会等概率投出 \([1, n]\) 中的一个数字 \(x\),向前走 \(x\) 步,如果没能走进终点且还有剩余步数,则会往反方向走剩余步数,同时如果你投出了数字 \(n\),则会免费获得额外的一次投掷次数(可以不停投掷 \(n\) 进行叠加),问期望进行多少回合走进终点,答案对 \(10^9 + 7\) 取模。
结论
答案为 \(\displaystyle 1 + \frac{n - 1}{n} \times (n - 1)\).
证明
不妨设最开始我们在 \(0\) 号点, 目标是 \(n\) 号点, \(f_i\) 表示从 \(i\) 点到 \(n\) 点的期望步数, 初始有 \(f_n = 0\).
对于 \(f_0\), 我们可以写出式子 \(\displaystyle f_0 = 1 + \frac{\sum_{i = 1}^{n - 1} f_i}{n}\), 前面加 \(1\) 是因为我们可能一步走到 \(n\) 点.
通过观察可以发现对于状态 \(1 \sim n - 1\) 其实都是等价的. 其中都有 \(\frac{1}{n}\) 的概率直接到达点 \(n\), \(\frac 1 n\) 的概率直接进入下一轮, 即抽到数字 \(n\), \(\frac{n - 2}{n}\) 的概率继续留在 \(1 \sim n - 1\) 中.
设当前轮结束的期望步数为 \(f\), 不难发现进入下一轮仍然是 \(f\)
解得 \(f = n - 1\). 带入最开始的 \(f_0\), 可得 \(\displaystyle f_0 = 1 + \frac{(n - 1)^2}{n}\).