首页 > 其他 > 详细

【CTS 2019】珍珠

时间:2020-05-08 21:08:02      阅读:32      评论:0      收藏:0      [点我收藏+]

Problem

Description

\(n\) 个在范围 \([1,D]\) 内的整数均匀随机变量。

求至少能选出 \(m\) 个瓶子,使得存在一种方案,选择一些变量,并把选出来的每一个变量放到一个瓶子中,满足每个瓶子都恰好装两个值相同的变量的概率。

请输出概率乘上 \(D^n\) 后对 \(998244353\) 取模的值。取模部分说明可参考 。

Range

\(0\le m\le 10^9,1\le n\le 10^9,1\le D\le 10^5\)

Algorithm

\(FFT\) ,生成函数

Mentality

对于 \(2m>n\)\(n-2m \ge D\) 的情况先特判掉。

不难发现,设 \(a_i\) 为颜色 \(i\) 出现的次数,我们要求的就是能满足 \(\sum a_i\ mod\ 2 \le n - 2m\) 的方案数。

\(f_i\) 为恰好有 \(i\) 种颜色出现次数为奇数的方案数,则有:

\[ans = \sum_{i=0}^{n-2m} f_i \]

写出 \(f_i\) 的表达式之后不太好求,我们需要令限制更少一点。

考虑钦定 \(i\) 个颜色的出现次数为奇数,设 \(h_i\) 为,对于钦定的某 \(i\) 种颜色,使得出现次数为奇数,且其他颜色出现次数随意的方案数。

\(g_i = \tbinom{D}{i} h_i\) ,也就是对于每种不同的钦定方案,我们将其求和。

那么根据定义,必然有等式:

\[g_i=\sum \tbinom{j}{i} f_j \]

因为每个 \(f_j\) 都会被 \(g_i\) 中的 \(\tbinom{j}{i}\) 种钦定方案算到。

利用指数形生成函数 \(\sum c^n\frac{x^i}{i!} = e^{cx}\) 可得:

\[h_i = n![x^n](\frac{e^x-e^{-x}}{2})^i(e^x)^{D-i}\ =\frac{n!}{2^i}[x^n]\sum_{j=0}^i \tbinom{i}{j} e^{jx}(-e^{-x})^{i-j}e^{D-i}\ =\frac{n!}{2^i}\sum_{j=0}^i \tbinom{i}{j} (-1)^{i-j}[x^n]e^{D+2j-2i}\ =\frac{n!}{2^i}\sum_{j=0}^i \tbinom{i}{i-j} (-1)^{j}[x^n]e^{D-2j}\\]

随后因为 \([x^n]e^{cx}=\frac{c^n}{n!}\) ,直接代入得:

\[h_i =\frac{n!}{2^i}\sum_{j=0}^i \tbinom{i}{i-j} (-1)^{j}\frac{(D-2j)^n}{n!}\ =\frac{i!}{2^i}\sum_{j=0}^i \frac{1}{(i-j)!}\frac{(-1)^j(D-2j)^n}{j!} \]

这样就可以卷积了。

然后根据定义式直接算出 \(\{g_i\}\)

根据二项式反演可得:

\[f_i=\sum_{j=i}^{D} (-1)^{j-i} \tbinom{j}{i} g_j\ = \sum_{j=0}^{D - i} (-1)^{j} \tbinom{j + i}{i} g_{j + i}\ = \frac{1}{i!}\sum_{j=0}^{D - i} \frac{(-1)^{j}}{j!} (j+i)!g_{j + i}\\]

\(p_{D-j-i}=g_{j+i}(j+i)!\),则有:

\[f_i= \frac{1}{i!}\sum_{j=0}^{D - i} \frac{(-1)^{j}}{j!} p_{D-j-i}\\]

这样就可以卷积了。

【CTS 2019】珍珠

原文:https://www.cnblogs.com/luoshuitianyi/p/12852875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!