题解:CF1523E Crypto Lights

题意简析

  • 给你 $n$ 盏灯,一开始都是暗的每次,点亮一盏灯。
  • 如果每次点亮后,存在一个长度为 $k$ 的区间中,不止一盏灯亮,则停止。
  • 求期望点亮多少盏灯?对 $10^9+7$ 取模。
  • 有多组数据,$n,k\le 10^5$。

## 分析

根据期望的计算公式可得:
$$E=\sum p_ii$$
但这里 $p_i$ 表示什么?

我们发现 $p_i$ 表示**点亮了 $i$ 盏灯结束**的期望。但是直接算 $p_i\times i$ 很难办,我们最好只要算一个和,而不是乘积的和。这时候发现 $\sum p_ii$ 很特殊,它是后缀和的总和。简单来说,如果记 $ sum_i=\sum\limits^n_{j=i}p_i$,我们要求的期望 $E=\sum sum_i$。证明很简单,将式子展开即可。

问题转化为如何计算 $\sum sum_i$。那么 $sum_i$ 表示什么呢?发现它是在以 $[i,n]$ 为结束的,有多少灯点亮的期望总和。这一求和,表示的就是在**第 $i-1$ 位还没结束的期望**。这样一来转化就变得清晰。

首先,点亮 $i-1$ 盏灯有 $\dbinom{n}{i}$ 种可能。为了满足点亮 $i-1$ 盏灯后不结束,每两盏灯之间的距离至少为 $k-1$。总共 $i-1$ 盏灯,共有 $i-2$ 个空隙,就需要 $(k-1)\times (i-2)$ 盏灯是亮着的。那么留给我们点亮的就只有 $n-(k-1)\times (i-2)$ 个位置。在其中选 $i-1$ 个灯,共有 $\dbinom{n-(k-1)\times (i-2)}{i-1}$ 种可能。

所以,
$$sum_i=\dfrac{\dbinom{n-(k-1)\times (i-2)}{i-1}}{\dbinom{n}{i}}$$

到此分析完毕。

## 总结

对期望求值进行分析转化,对定义理解透彻。~~不会求组合数当我没说。~~

上一篇:神州数码路由器之间配置IPSec


下一篇:Ubuntu 12.04 DNS服务器的配置方法