闲扯
感觉还是挺不错的一道题,在预处理上需要用到一些小技巧。
题面
Solution
考虑用期望的定义式来计算。
$E(L,R)=\sum_{i=1}^{inf}i\cdot P_i$ 。
其中 $P_i$ 表示跳 $i$ 步之后超过 $R$ 的概率。
很简单的,我们可以推出 $P_i=\frac{\frac{R}{2i-1}-\frac{R}{2i+1}}{R-L}$ 。
其中,当 $\frac{R}{2i+1}<=L$ 时,结束,同时这一段要单独考虑长度。
我们将整个式子写下来,可以得到这样一个东西:
因为数据范围比较大,我们考虑预处理出 $\sum_{i=1}^k\frac{1}{2i-1}$ 。
但是因为要取模,我们可以考虑先不约分,算出分子和分母,然后计算的时候再计算具体值。
Code
1 |
|