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}\) 里面出这种积分题真的好吗?是不是有点偏了?

浙公网安备 33010602011771号