loj3120. 「CTS2019 | CTSC2019」珍珠
Posted psimonw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loj3120. 「CTS2019 | CTSC2019」珍珠相关的知识,希望对你有一定的参考价值。
题意
你有\(n\)个物品,每个物品的颜色\(c \in [1, D]\),你可以给这些物品同色的两两配对,求满足配对数大于等于\(m\)的染色方案数。
\(n, m \leq 1e9, D \leq 1e5\)。
题解
问题等价于求满足有奇数个物品的颜色数不超过\(n - 2m\)个的染色方案数。
设\(f_i, j\)代表考虑前\(i\)个物品后,有\(j\)种颜色有奇数个物品的方案数。这个东西是比较高档的暴力。
再说说正解。
由于\(n, m\)都很大,所以考虑生成函数。
对于某种颜色,有奇数个物品的生成函数为\(\frac e ^ x - e ^ -x2\)。
设\(f_i\)表示至少\(i\)种颜色有奇数个物品的方案数。
则有
\[
f_i = \binom Di n! [x ^ n] (\frac e ^ x - e ^ -x2) ^ i e ^ x ^ (D - i)
\]
整理一下式子,最终可以得到
\[
f_i = \fraci! \binomDi2 ^ i \sum_j = 0 ^ i (-1) ^ j \frac(D - 2j) ^ nj! (i - j)!
\]
ntt得到\(f\)后再二项式反演一下即可。
以上是关于loj3120. 「CTS2019 | CTSC2019」珍珠的主要内容,如果未能解决你的问题,请参考以下文章