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 ^ {-x}}{2}\)
\(f_i\)表示至少\(i\)种颜色有奇数个物品的方案数。
则有
\[ f_i = \binom {D}{i} n! [x ^ n] (\frac {e ^ x - e ^ {-x}}{2}) ^ i {e ^ x} ^ {(D - i)} \]
整理一下式子,最终可以得到
\[ f_i = \frac{i! \binom{D}{i}}{2 ^ i} \sum_{j = 0} ^ i (-1) ^ j \frac{(D - 2j) ^ n}{j! (i - j)!} \]
ntt得到\(f\)后再二项式反演一下即可。

转载于:https://www.cnblogs.com/psimonw/p/11545232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值