前言
首先感谢 XHM 大佬的悉心指导,我懂得了不少~。
链一下他关于这方面的见解、博客——XHM 的Dirichlet卷积 学习小记
一些定义
回归正题,这次我学习了一下狄利克雷卷积方面的知识。
先给一波定义:(这里也感谢 skywalkert大佬的精心讲解)
数论函数的定义
- 若 f(n) f ( n ) 的定义域为 正整数域,值域为 复数,即 f:Z+→C f : Z + → C ,则称 f(n) f ( n ) 为 数论函数 。
积性函数的定义
若 f(n) f ( n ) 是 数论函数,且 f(1)=1 f ( 1 ) = 1 ,对于 互质 的正整数 p,q p , q ,有:
f(p⋅q)=f(p)⋅f(q) f ( p · q ) = f ( p ) · f ( q )则称 f(n) f ( n ) 为 积性函数 。
完全积性函数的定义
若 f(n) f ( n ) 为 积性函数 ,且对于 任意 正整数 p,q p , q 都有:
f(p⋅q)=f(p)⋅f(q) f ( p · q ) = f ( p ) · f ( q )则称 f(n) f ( n ) 为 完全积性函数 。
狄利克雷卷积的定义
定义 数论函数 f f 和 的 狄利克雷卷积 为 h h ,则:
记作: h=f∗g h = f ∗ g 。
一些性质
Dirichlet D i r i c h l e t 卷积满足交换律、结合律,对加法满足分配律(如: (f+g)∗h=f∗h+g∗h ( f + g ) ∗ h = f ∗ h + g ∗ h )。
两个 积性函数 的 狄利克雷卷积 依旧为 积性函数 。
一些常见的数论函数
- 常值函数: n(i)=n n ( i ) = n (就是总是返回一个固定值的函数)。
一些常见的积性函数
单位元函数: e(n)=[n=1] e ( n ) = [ n = 1 ] ,它卷上任意的数论函数仍为原数论函数,既满足:
f∗e=f=e∗f f ∗ e = f = e ∗ f幂函数: idk(n)=nk i d k ( n ) = n k ,完全积性。
恒等函数: I(n)=1 I ( n ) = 1 (也是常值函数,只是比较特殊),完全积性,相当于 id0 i d 0 。
单位函数: id(n)=n i d ( n ) = n ,完全积性,相当于 id1 i d 1 。
莫比乌斯函数 μ(n) μ ( n ) ,在狄利克雷卷积的乘法中与 恒等函数 I(n)=1 I ( n ) = 1 互为 逆元,即有:
μ∗I=e μ ∗ I = e且 μ(1)=1 μ ( 1 ) = 1 ,对于无平方因子数 n=∏ti=1pi n = ∏ i = 1 t p i 有 μ(n)=(−1)t μ ( n ) = ( − 1 ) t ,
对于有平方因子数 n n 有 。
欧拉函数: φ(n)=∑ni=1[(n,i)=1]⋅1 φ ( n ) = ∑ i = 1 n [ ( n , i ) = 1 ] ⋅ 1 ,表示小于等于 n n 与 互质的数的个数。
另外有: ∑ni=1[(n,i)=1]⋅i=n⋅φ(n)+[n=1]2 ∑ i = 1 n [ ( n , i ) = 1 ] ⋅ i = n ⋅ φ ( n ) + [ n = 1 ] 2 ,且对于正整数 n>2 n > 2 来说 φ(n) φ ( n ) 是偶数。
除数函数: σk(n)=∑d|ndk σ k ( n ) = ∑ d | n d k ,表示 n n 的约数的 次幂和,注意 σk(n) σ k ( n ) 与 σk(n) σ k ( n ) 是不同的。
约数和函数: σ(n)=σ1(n)=∑d|nd σ ( n ) = σ 1 ( n ) = ∑ d | n d ,表示 n n 的约数之和(∑)。
约数个数函数: ,表示 n n 的约数个数,一般也写为 。
一些常用的狄利克雷卷积
说在前面,因为: ∑d|nμ(d)=[n=1] ∑ d | n μ ( d ) = [ n = 1 ] ,有①: I∗μ=e I ∗ μ = e (即 I I 和 互为逆元)。
怎么证明呢?考虑有值(非零)的 μ(n) μ ( n ) 对答案的贡献。
当 n=1 n = 1 时,即 μ(1)=1 μ ( 1 ) = 1 ,此时 (I∗μ)(1)=I(1)⋅μ(1)=1=e(1) ( I ∗ μ ) ( 1 ) = I ( 1 ) · μ ( 1 ) = 1 = e ( 1 ) 。
而当 n>1 n > 1 时,令 n=∏ki=1Pi n = ∏ i = 1 k P i ,其中 Pi P i 为互不相同的质数。
此时:
∑i=0kμ(i)⋅Cik=∑i=0kμ(i)⋅Cik⋅I(k−i) ∑ i = 0 k μ ( i ) · C k i = ∑ i = 0 k μ ( i ) · C k i · I ( k − i )=∑i=0k(−1)i⋅Cik⋅1k−i = ∑ i = 0 k ( − 1 ) i · C k i · 1 k − i=(1−1)k=0 (二项式定理) = ( 1 − 1 ) k = 0 ( 二 项 式 定 理 )所以 n>1 n > 1 后面的值之和为零,则命题 I∗μ=e I ∗ μ = e 得证。
②: μ∗id=φ μ ∗ i d = φ ,将欧拉函数的通式展开即可得到此式。
③: I∗id=σ I ∗ i d = σ ,证明如下:
(I∗id)(n)=∑d|nid(d)∗I(nd) ( I ∗ i d ) ( n ) = ∑ d | n i d ( d ) ∗ I ( n d )=∑d|nd⋅1=σ(n) = ∑ d | n d · 1 = σ ( n )④: I∗I=τ I ∗ I = τ ,证明跟上面同理。
以上①②③④都是非常常用的狄利克雷卷积。
莫比乌斯反演
而且我们也能够通过简单的狄利克雷卷积运算轻易地证出莫比乌斯反演。
设 F(n)=∑d|nf(d) F ( n ) = ∑ d | n f ( d ) ,补上一项: F(n)=∑d|nf(d)∗I(nd) F ( n ) = ∑ d | n f ( d ) ∗ I ( n d ) (等价)
则有: F=I∗f F = I ∗ f ,两边同时卷上 μ μ ,即:
由于①: μ∗I=e μ ∗ I = e ,单位元函数可以直接抹去,那就相当于: f=μ∗F f = μ ∗ F
于是得证:
f(d)=∑d|nμ(d)⋅F(nd) f ( d ) = ∑ d | n μ ( d ) · F ( n d )
几个结论
结论①: n=∑d|nφ(d) n = ∑ d | n φ ( d ) ,证明:
id=id∗e=id∗(μ∗I)=(id∗μ)∗I=φ∗I i d = i d ∗ e = i d ∗ ( μ ∗ I ) = ( i d ∗ μ ) ∗ I = φ ∗ I则:
n=id(n)=∑d|nφ(d)∗I(nd)=∑d|nφ(d) n = i d ( n ) = ∑ d | n φ ( d ) ∗ I ( n d ) = ∑ d | n φ ( d )结论②: σ(n)=∑d|nτ(d)∗φ(nd) σ ( n ) = ∑ d | n τ ( d ) ∗ φ ( n d ) ,证明:
σ=σ∗e=(I∗id)∗(I∗μ)=(I∗I)∗(id∗μ)=τ∗φ σ = σ ∗ e = ( I ∗ i d ) ∗ ( I ∗ μ ) = ( I ∗ I ) ∗ ( i d ∗ μ ) = τ ∗ φ
二项式反演
- 由 Ai=∑ij=0Cji⋅Bj A i = ∑ j = 0 i C i j · B j ,反演得: Bi=∑ij=0(−1)j⋅Cji⋅Aj B i = ∑ j = 0 i ( − 1 ) j · C i j · A j
总结
狄利克雷卷积让我们开阔了不少眼界,也让我们做题的思路打开了很多。
如结合杜教筛、拉格朗日插值法、莫比乌斯反演等算法可以更轻易地攻克更多题目。