题目描述
求在集合 {(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]
]
暴力即可。