zoukankan      html  css  js  c++  java
  • 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 = inom {D}{i} n! [x ^ n] (frac {e ^ x - e ^ {-x}}{2}) ^ i {e ^ x} ^ {(D - i)} ]

    整理一下式子,最终可以得到

    [f_i = frac{i! inom{D}{i}}{2 ^ i} sum_{j = 0} ^ i (-1) ^ j frac{(D - 2j) ^ n}{j! (i - j)!} ]

    ntt得到(f)后再二项式反演一下即可。

  • 相关阅读:
    15 鼠标事件
    09 属性操作
    06 DOM操作之插入节点
    03 如何处理多个库$冲突的问题
    01 jquery引入
    08 千千音乐盒实现全选和反选
    03 衣服相册切换效果
    02 显示和隐藏图片
    01 图片切换
    派生
  • 原文地址:https://www.cnblogs.com/psimonw/p/11545232.html
Copyright © 2011-2022 走看看