【学习笔记】斯特林反演+单位根反演

upd:抄了一下 ppt \text{ppt} ppt

1.1 1.1 1.1 斯特林反演

有两个恒等式:

[ i = j ] = ∑ ( − 1 ) i − k [ i k ] { k j } [i=j]=\sum (-1)^{i-k}\begin{bmatrix}i \\ k\end{bmatrix}\begin{Bmatrix}k \\ j\end{Bmatrix} [i=j]=(1)ik[ik]{kj}

[ i = j ] = ∑ ( − 1 ) i − k { i k } [ k j ] [i=j]=\sum (-1)^{i-k}\begin{Bmatrix}i \\ k\end{Bmatrix}\begin{bmatrix}k \\ j\end{bmatrix} [i=j]=(1)ik{ik}[kj]

证明:首先要用到恒等式: n m = ∑ { m k } ( n k ) k ! n^m=\sum \begin{Bmatrix}m \\ k\end{Bmatrix}\binom{n}{k}k! nm={mk}(kn)k!,证明考虑 m m m个不同的球放进 n n n个不同的盒子的情况。注意这里 k k k的求和上限是 m m m。组合数是我们所熟悉的,因此这个式子可以用来求幂和。

然后,如果你对第一类斯特林数的生成函数以及上升幂转下降幂比较熟悉的话:

x n ‾ = ∑ [ n k ] x k x^{\overline n}=\sum \begin{bmatrix}n \\ k\end{bmatrix}x^k xn=[nk]xk

转成下降幂:

x n ‾ = ∑ ( − 1 ) n − i [ n i ] x i = ∑ ( − 1 ) n − i [ n i ] ∑ ( x j ) j ! { i j } = ∑ x j ‾ ( − 1 ) n − i [ n i ] { i j } x^{\underline n}=\sum (-1)^{n-i}\begin{bmatrix}n \\ i\end{bmatrix}x^i \\=\sum (-1)^{n-i}\begin{bmatrix}n\\ i\end{bmatrix}\sum \binom{x}{j}j!\begin{Bmatrix}i\\ j\end{Bmatrix} \\=\sum x^{\underline j}(-1)^{n-i}\begin{bmatrix}n\\ i\end{bmatrix}\begin{Bmatrix}i\\ j\end{Bmatrix} xn=(1)ni[ni]xi=(1)ni[ni](jx)j!{ij}=xj(1)ni[ni]{ij}

比较左右两式就能证明了。

n m = ∑ { m i } n i ‾ = ∑ { m i } ( − 1 ) i ( − n ) i ‾ = ∑ { m i } ( − 1 ) i ∑ [ i j ] ( − n ) j = ∑ ( − n ) j ∑ ( − 1 ) i [ i j ] { m i } = ∑ n j ∑ ( − 1 ) i − j { m i } [ i j ] n^m=\sum \begin{Bmatrix}m\\ i\end{Bmatrix}n^{\underline i} \\=\sum \begin{Bmatrix}m\\ i\end{Bmatrix}(-1)^i(-n)^{\overline i} \\=\sum \begin{Bmatrix}m\\ i\end{Bmatrix}(-1)^i\sum \begin{bmatrix}i\\ j\end{bmatrix}(-n)^j \\=\sum (-n)^j\sum (-1)^i\begin{bmatrix}i\\ j\end{bmatrix}\begin{Bmatrix}m\\ i\end{Bmatrix} \\=\sum n^j\sum (-1)^{i-j}\begin{Bmatrix}m\\ i\end{Bmatrix}\begin{bmatrix}i\\ j\end{bmatrix} nm={mi}ni={mi}(1)i(n)i={mi}(1)i[ij](n)j=(n)j(1)i[ij]{mi}=nj(1)ij{mi}[ij]

同样比较两式可以证明。

然后有如下结论:

g ( n ) = ∑ i = 0 n { n i } f ( i ) ⇒ f ( n ) = ∑ i = 0 n ( − 1 ) n − i g(n)=\sum_{i=0}^n\begin{Bmatrix}n \\ i\end{Bmatrix}f(i)\Rightarrow f(n)=\sum_{i=0}^n(-1)^{n-i} g(n)=i=0n{ni}f(i)f(n)=i=0n(1)ni [ n i ] g ( i ) \begin{bmatrix}n \\ i\end{bmatrix}g(i) [ni]g(i)

g ( n ) = ∑ i = 0 n [ n i ] f ( i ) ⇒ f ( n ) = ∑ i = 0 n ( − 1 ) n − i g(n)=\sum_{i=0}^n\begin{bmatrix}n \\ i\end{bmatrix}f(i)\Rightarrow f(n)=\sum_{i=0}^n(-1)^{n-i} g(n)=i=0n[ni]f(i)f(n)=i=0n(1)ni { n i } g ( i ) \begin{Bmatrix}n \\ i\end{Bmatrix}g(i) {ni}g(i)

这两个式子的证明都是非常容易的。比如,我们设 a i , j = [ i j ] , b i , j = ( − 1 ) i − j { i j } , c i , j = ∑ a i , k b k , j = ∑ [ i j ] ( − 1 ) j − k { j k } = [ i = j ] = I a_{i,j}=\begin{bmatrix}i\\ j\end{bmatrix},b_{i,j}=(-1)^{i-j}\begin{Bmatrix}i\\ j\end{Bmatrix},c_{i,j}=\sum a_{i,k}b_{k,j}=\sum \begin{bmatrix}i\\ j\end{bmatrix}(-1)^{j-k}\begin{Bmatrix}j\\ k\end{Bmatrix}=[i=j]=I ai,j=[ij],bi,j=(1)ij{ij},ci,j=ai,kbk,j=[ij](1)jk{jk}=[i=j]=I,那么 A F = G ⇒ F = B G AF=G\Rightarrow F=BG AF=GF=BG,对矩阵运算法则比较熟悉的话显然不难理解。后者也同理。

1.2 1.2 1.2 单位根反演

满足 w n = 1 w^n=1 wn=1的复数称作 n n n次单位根,记作 w n k = e 2 π k i n w_n^k=e^{\frac{2\pi ki}{n}} wnk=en2πki,这是欧拉公式告诉我们的。

单位根反演: [ n ∣ k ] = 1 n ∑ w n i k [n|k]=\frac{1}{n}\sum w_n^{ik} [nk]=n1wnik,用等比数列求和不难推出。

拿来求这种东西: ∑ 0 ≤ i ≤ n , k ∣ i ( n i ) \sum_{0\le i\le n,k|i}\binom{n}{i} 0in,ki(in)

直接暴力展开,然后用二项式定理合拢:

∑ [ k ∣ i ] ( n i ) = ∑ 1 n ∑ w k i j ( n j ) = 1 n ∑ k ∑ ( w k i ) j ( n j ) = 1 n ∑ k ( w k i + 1 ) n \sum [k|i]\binom{n}{i}=\sum \frac{1}{n}\sum w_k^{ij}\binom{n}{j} \\=\frac{1}{n}\sum_k\sum (w_k^i)^j\binom{n}{j} \\=\frac{1}{n}\sum_k(w_k^i+1)^n [ki](in)=n1wkij(jn)=n1k(wki)j(jn)=n1k(wki+1)n

在取模意义下直接用原根算即可。如果原根不好寻找,不难发现答案就是 ( w n + 1 ) n (w_n+1)^n (wn+1)n的常数项,做一个循环卷积即可。

都是一些最基本的东西,可能以后的模拟赛会用上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值