CF1153F Serval and Bonus Problem

题目描述

\(\quad\) 传送门


题解

\(\quad\bullet\) 这个题目比较牛逼,稍微写点东西。

\(\quad\bullet\) 发现这个题目样例解释使用积分的,所以我们也用积分做。

\(\quad\bullet\) 我们发现可以认为左右端点是在 \([0,1)\) 内随机,最后把答案乘以 \(l\) 即可。

\(\quad\bullet\) 考虑一个点 \(x \in [0,1)\) 被覆盖至少 \(1\) 次的概率 \(p(x)\),则 \(p(x) = 2x(1-x)\)

\(\quad\bullet\)\(f(x)\) 代表点 \(x\) 被覆盖至少 \(k\) 次的概率,那么 \(l \times \int_0^1f(x)\text{d}x\) 就是答案。

\(\quad\bullet\) 显然可以得到

\[f(x) = \sum\limits_{i=k}^n{n \choose i}p(x)^i(1-p(x))^{n-i} \]

\(\quad\bullet\) 考虑算上面的积分

\[\int_0^1f(x)\text{d}x = \int_0^1\sum\limits_{i=k}^n{n \choose i}(2x(1-x))^i(1-2x(1-x))^{n-i}\text{d}x \]

\[= \sum\limits_{i=k}^n{n \choose i}\int_{0}^1(2x(1-x))^i(1-2x(1-x))^{n-i}\text{d}x \]

\[= \sum\limits_{i=k}^n{n \choose i}\int_0^12^ix^i(1-x)^i\sum\limits_{j=0}^{n-i}{n-i \choose j}(-1)^j2^jx^{j}(1-x)^{j}\text{d}x \]

\[=\sum\limits_{i=k}^n{n \choose i}\sum\limits_{j=0}^{n-i}{n-i \choose j}(-1)^j2^{i+j}\int_0^1x^{i+j}(1-x)^{i+j}\text{d}x \]

\[=\sum\limits_{i=k}^n{n \choose i}\sum\limits_{j=0}^{n-i}{n-i \choose j}(-1)^j2^{i+j}\frac{(i+j)!(i+j)!}{(2(i+j)+1)!} \]

\[= n!\sum\limits_{i=k}^n\sum\limits_{j=0}^{n-i}\frac{1}{i!}\frac{(-1)^j}{j!}\frac{2^{i+j}(i+j)!(i+j)!}{(2(i+j)+1)!(n-(i+j))!} \]

\[=n!\sum\limits_{t=k}^{n}h_t\sum\limits_{i=k}^tf_ig_{t-i} \]

\(\quad\bullet\) 其中

\[f_i = \frac{1}{i!},g_i = \frac{(-1)^i}{i!},h_i = \frac{2^i(i!)^2}{(2i+1)!(n-i)!} \]

\(\quad\bullet\) 上面积分的过程中用到了 \(Beta\) 函数,即

\[B(\alpha,\beta)= \int_0^1t^{\alpha-1}(1-t)^{\beta-1}\text{d}t = \frac{(\alpha-1)!(\beta-1)!}{(\alpha+\beta-1)!} \]

\(\quad\bullet\) 上面式子可以直接 \(\mathcal O(n^2)\) 计算,或者用 \(\text{NTT}\) 优化到 \(\mathcal O(n\log_2n)\)


\(\Large \mathbf{后话}\)

\(\quad\bullet\)\(\mathrm{OI}\) 里面出这种积分题真的好吗?是不是有点偏了?

posted @ 2020-11-19 16:34  蒟蒻tyy  阅读(144)  评论(0)    收藏  举报