题目链接:
【Codeforces1187F】Expected Square Beauty
题目描述:
有一个长度为 $ n $ 的数列,第 $ i $ 个数的取值范围为 $ [l_i, r_i] $ ,定义一个数列的价值为这个数列极长连续相同段的个数,求一个数列价值的平方期望,对 $ 10^9 + 7 $ 取模 。
$ n \leq 200000 $ 。
做法:
定义 $ F(x) $ 为数列的价值, $ I_i(x) $ 为数列中第 $ i $ 项与第 $ i - 1 $ 项是否不同 $ (I_i(x) = [x_i \neq x_{i - 1}]) $ ,则有 $ F(x) = \sum_{i = 1}^{n} I_i(x) $ 。
$$ E(B(x)^2) = E(\sum_{i = 1}^{n}I_i(x)\sum_{j = 1}^{n}I_j(x))\ = E(\sum_{i = 1}^{n}\sum_{j = 1}^{n}I_i(x)I_j(x))\ = \sum_{i = 1}^{n}\sum_{j = 1}^{n}E(I_i(x)I_j(x)) $$
考虑计算 $ E(I_i(x)I_j(x)) $ ,分三种情况考虑。
当 $ i = j $ 时, $ E(I_i(x)I_j(x)) = E(I_i(x)) $ 。
当 $ | i - j | > 1 $ 时, $ I_i(x), I_j(x) $ 互不影响, $ E(I_i(x)I_j(x)) = E(I_i(x))E(I_j(x)) $ 。
当 $ | i - j | = 1 $ 时,仅考虑 $ j = i + 1 $ 的贡献( $ i = j + 1 $ 同理)。$ E(I_i(x)I_j(x)) = P(x_{i - 1} \neq x_i \&\& x_i \neq x_{i + 1}) $ 。考虑容斥, $ E(I_i(x)I_j(x)) = 1 - p_i - p_{i + 1} + P(x_{i - 1} = x_i \&\& x_i = x_{i + 1}) $ ,就可以计算了。
1 |
|