zoukankan      html  css  js  c++  java
  • 子集计数

    题目描述

    求在集合 {(1,2,3,...,n)} 中选一个大小为 (m) 的子集,子集和在模 (n) 意义下为 (k) 的方案模 (998244353)
    (1le m,kle nle 998244353)

    神仙反演

    Orz yww
    首先写出答案的二元生成函数

    [F(x,y)=prod_{i=1}^{n}(1+x^iy) ]

    那么我们最终要求的即

    [Ans=sum_{i=1}^infty [i\%n==k]F(x,y)[x^iy^m] ]

    不难想到单位根反演:

    [Ans=sum_{i=1}^infty [nmid(i-k)]F(x,y)[x^iy^m]\ =frac{1}{n}sum_{i=1}^infty sum_{j=1}^nw_n^{j(i-k)} F(x,y)[x^iy^m] ]

    稍加整理可知

    [Ans=frac{1}{n}sum_{j=1}^nw_n^{-jk}(prod_{i=1}^n(1+w_n^{ij}y)[y^m]) ]

    (不知道为何)枚举 (gcd(n,j)=d)

    [Ans=frac{1}{n}sum_{d|n}sum_{j=1}^{n/d}[(j,frac{n}{d})=1]w_n^{-jdk}(prod_{i=1}^n(1+w_n^{ijd}y)[y^m]) ]

    注意到单位根的幂它的右上和右下是可以通分的,那么我们进行操作,

    [Ans=frac{1}{n}sum_{d|n}sum_{j=1}^{n/d}[(j,frac{n}{d})=1]w_{n/d}^{-jk}(prod_{i=1}^n(1+w_{n/d}^{ij}y)[y^m])\ =frac{1}{n}sum_{d|n}sum_{j=1}^{n/d}[(j,frac{n}{d})=1]w_{n/d}^{-jk}(prod_{i=1}^{n/d}(1+w_{n/d}^{ij}y))^d[y^m] qquad igstar ]

    考虑分圆多项式的根

    [x^n-1=prod_{i=1}^n(x-w_n^i) ]

    (x=-frac{1}{y}) 代入上式,

    [(-frac{1}{y})^n-1=prod_{i=1}^n(-frac{1}{y}-w_n^i)\ 1-(-y)^n=prod_{i=1}^n(1+w_n^iy) ]

    用上式去代入 (igstar) 式,

    [Ans=frac{1}{n}sum_{d|n}sum_{j=1}^{n/d}[(j,frac{n}{d})=1]w_{n/d}^{-jk}(1-(-y)^{frac{n}{d}})^d[y^m]\ =frac{1}{n}sum_{d|n}(1-(-y)^{frac{n}{d}})^d[y^m]sum_{j=1}^{n/d}[(j,frac{n}{d})=1]w_{n/d}^{-jk} ]

    对后面的方括号莫比乌斯反演,

    [Ans=frac{1}{n}sum_{d|n}(1-(-y)^{frac{n}{d}})^d[y^m]sum_{e|frac{n}{d}}mu(e)sum_{j=1}^{n/de}w_{n/d}^{-jek}\ =frac{1}{n}sum_{d|n}(1-(-y)^{frac{n}{d}})^d[y^m]sum_{e|frac{n}{d}}mu(e)sum_{j=1}^{n/de}w_{n/de}^{-jk} ]

    注意到最后一个求和号是单位根反演出来的形式,故拼凑回去得:

    [Ans=frac{1}{n}sum_{d|n}(1-(-y)^{frac{n}{d}})^d[y^m]sum_{e|frac{n}{d}}mu(e) {left lfloor frac{n}{de} ight floor} [frac{n}{de}mid k] ]

    暴力即可。

  • 相关阅读:
    [原]实例-简单设计&精简代码&复用代码
    [原创]实例-少用单例及降低耦合
    c#实现数据集合转换为csv文本
    [转]SqlServer索引的原理与应用
    [转]AngularJS:何时应该使用Directive、Controller、Service?
    [转]AngularJS移动开发中的坑汇总
    [转]Hibernate对象的三种状态
    [转]AngularJS Cookies Example
    [转]LESS CSS 框架简介
    [转]为ReportViewer导出的PDF文档加上水印
  • 原文地址:https://www.cnblogs.com/bestwyj/p/11187775.html
Copyright © 2011-2022 走看看