【学习笔记】斯特林反演+单位根反演
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)i−k[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)i−k{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)n−i[ni]xi=∑(−1)n−i[ni]∑(jx)j!{ij}=∑xj(−1)n−i[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)i−j{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)n−i [ 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)n−i { 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)i−j{ij},ci,j=∑ai,kbk,j=∑[ij](−1)j−k{jk}=[i=j]=I,那么 A F = G ⇒ F = B G AF=G\Rightarrow F=BG AF=G⇒F=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} [n∣k]=n1∑wnik,用等比数列求和不难推出。
拿来求这种东西: ∑ 0 ≤ i ≤ n , k ∣ i ( n i ) \sum_{0\le i\le n,k|i}\binom{n}{i} ∑0≤i≤n,k∣i(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 ∑[k∣i](in)=∑n1∑wkij(jn)=n1∑k∑(wki)j(jn)=n1∑k(wki+1)n
在取模意义下直接用原根算即可。如果原根不好寻找,不难发现答案就是 ( w n + 1 ) n (w_n+1)^n (wn+1)n的常数项,做一个循环卷积即可。
都是一些最基本的东西,可能以后的模拟赛会用上。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17529979.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」