珍珠[CTS2019]
题目链接
题解
设第 $i$ 个颜色出现了 $a_i$ 次,那么当且仅当 $\sum_{i=1}^d\left \lfloor \frac{a_i}{2}\right \rfloor\leq m$ 时满足条件。
原式经转换得:$\sum a_i-a_i\bmod 2\leq 2m$。
因为有 $\sum_{i=1}^da_i=n$,那么有 $\sum_{i=1}^da_i\bmod 2\leq n-2m$。
那么设 $g_j$ 表示 $\sum_{i=1}^da_i\bmod 2=j$ 的方案数,最后 $\sum_{j=0}^{n-2m}g_j$ 就是答案。
这个 $g_j$ 很不好求,可以容斥一下,变成求至少为 $j$ 的方案数,设为 $f_i$。
那么有:$f_i=\sum_{j=i}^d\binom{j}{i}g_j$。
二项式反演得到:$g_i=\sum_{j=i}^d(-1)^{j-i}\binom{j}{i}f_j$,即:
$$g_i=\frac{1}{i!}\sum_{j=i}^d\frac{(-1)^{j-i}}{(j-i)!}\times j!f_j$$
显然是一个卷积形式,ntt即可,转换为求所有的 $f_i$。
那么就是在 $d$ 个颜色中钦定 $i$ 个,使得这 $i$ 个颜色都选了奇数个,其他任意的方案数。这里有 $\binom{d}{i}$ 种情况。
如果只要出现这 $i$ 个颜色当中出现了一个选了偶数,则这个方案贡献为 $0$,否则为 $1$。
如果颜色的出现次数为 $a_1,a_2\cdots,a_d$,则一共有 $\frac{n!}{\prod_{i=1}^da_i!}$ 种情况。这启发我们可以使用EGF来进行计数。
考虑那 $i$ 个颜色的EGF对应的序列是这样的:${0,1,0,1,0\cdots}$,也就是 $\frac{e^x-e^{-x}}{2}$。
其他颜色的EGF对应的序列是这样的:${1,1,1,1\cdots}$,为 $e^x$。
那么这一部分的答案为 $n! \left [ x ^ n \right ] (\frac{e^x-e^{-x}}{2})^i(e^x)^{d-i}$。
那么有:
$$f_i=\binom{d}{i}n^i(e^x)^{d-i}\=\frac{d!}{2^ii!(d-i)!}n^ie^{(d-i)x}\=\frac{d!}{2^ii!(d-i)!}n![x^n]\sum_{j=0}^i(-1)^{i-j}\binom{i}{j}e^{jx}e^{-(i-j)x}e^{(d-i)x}\=\frac{d!}{2^ii!(d-i)!}n![x^n]\sum_{j=0}^i(-1)^{i-j}\binom{i}{j}e^{(d-2(i-j))x}\=\frac{d!}{2^ii!(d-i)!}n!\sum_{j=0}^i(-1)^{i-j}\binom{i}{j}\frac{(d-2(i-j))^n}{n!}\=\frac{d!}{2^ii!(d-i)!}\sum_{j=0}^i(-1)^{i-j}\binom{i}{j}(d-2(i-j))^n\=\frac{d!}{2^i(d-i)!}\sum_{j=0}^i\frac{1}{j!}\times \frac{(-1)^{i-j}(d-2(i-j))^n}{(i-j)!}$$
这一部分也是一个卷积形式,ntt计算出 $f_i$ 即可。
时间复杂度 $O(n\log n)$。
程序
1 |
|