码迷,mamicode.com
首页 > 其他好文 > 详细

loj3120. 「CTS2019 | CTSC2019」珍珠

时间:2019-09-18 20:57:23      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:lin   math   函数   颜色   rac   表示   比较   暴力   整理   

题意

你有\(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\)后再二项式反演一下即可。

loj3120. 「CTS2019 | CTSC2019」珍珠

标签:lin   math   函数   颜色   rac   表示   比较   暴力   整理   

原文地址:https://www.cnblogs.com/psimonw/p/11545232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!