1. 程式人生 > 其它 >題解:CF1523E Crypto Lights

題解: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}}$$

到此分析完畢。

## 總結

對期望求值進行分析轉化,對定義理解透徹。~~不會求組合數當我沒說。~~