AT_jag2017summer_day1_c すごろく
题目描述
斯努克君正在玩一个有趣的双六棋盘游戏。
这款游戏使用的骰子十分特别,骰子有 $N$ 个面,每个面出现的机会均等。第 $i$ 个面上标有整数 $A_i$,当骰子掷出该面时,棋子会向前移动 $A_i$ 格。
游戏的棋盘较为简单,共排成一列的 $M$ 个棋格,第 $1$ 格为起点,第 $M$ 格为终点。在每个第 $i$ 格上,写有一个整数 $B_i$,当棋子停在该格时,会触发以下效果:
- 若 $B_i \geq 0$:棋子继续向前移动 $B_i$ 格,移动后不再触发该格的效果。
- 若 $B_i < 0$:棋子需要休息 $-B_i$ 回合。
请你计算斯努克君到达终点所需回合数的期望值。
请注意,当棋子试图越过终点时,视为已到达终点。
输入格式
标准输入按下列格式给出:
> $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_M$
输出格式
输出达到终点所需回合数的期望值。只要绝对误差或相对误差不超过 $10^{-4}$,即可视为正确答案。
说明/提示
- $1 \le N \le 10^5$
- $2 \le M \le 10^5$
- $1 \le A_i \le M$
- $-10 \le B_i \le M$
- $B_1 = B_M = 0$
## 样例解释
根据第一回合掷出不同点数的情况分析:
- 掷出 $1$ 时:棋子前进 $1$ 格,停在第 $2$ 格,由于该格效果,棋子再前进到第 $3$ 格。下一回合无论掷出什么,均能到达终点,故总共需要 $2$ 回合。
- 掷出 $2$ 时:前进 $2$ 格,停在第 $3$ 格,因该格效果需要休息 $1$ 回合。下一回合休息,再下一回合便可到达终点,总共需 $3$ 回合。
- 掷出 $3$ 时:直接前进 $3$ 格,到达第 $4$ 格,即 $1$ 回合到终点。
因此,期望值为 $2/3 + 3/3 + 1/3 = 2$。
**本翻译由 AI 自动生成**