常见积性函数
- μ ( n ) = { 1 , i = 1 0 , n 无 2 次 方 以 上 的 素 因 数 ( − 1 ) k , k 为 不 同 素 因 数 的 种 类 \mu(n)=\begin{cases} 1,&i=1\\ 0,&n无2次方以上的素因数\\ (-1)^k,&k为不同素因数的种类 \end{cases} μ(n)=⎩⎪⎨⎪⎧1,0,(−1)k,i=1n无2次方以上的素因数k为不同素因数的种类
- φ ( n ) = ∑ i = 1 n [ ( n , i ) = 1 ] \varphi(n)=\sum_{i=1}^{n}[(n,i)=1] φ(n)=∑i=1n[(n,i)=1]
- d ( n ) = ∑ d = 1 n [ d ∣ n ] d(n)=\sum_{d=1}^{n}[d|n] d(n)=∑d=1n[d∣n]
- σ ( n ) = ∑ d ∣ n d = ∑ d = 1 n [ d ∣ n ] ⋅ d \sigma(n)=\sum_{d|n}d=\sum_{d=1}^{n}[d|n]\cdot d σ(n)=∑d∣nd=∑d=1n[d∣n]⋅d
- ϵ ( n ) = [ n = 1 ] \epsilon(n)=[n=1] ϵ(n)=[n=1]
- I ( n ) = 1 I(n)=1 I(n)=1
- i d ( n ) = n id(n)=n id(n)=n
迪利克雷卷积
- 定义:两个数论函数 f f f和 g g g的卷积为 ( f ∗ g ) ( n ) = ∑ d ∣ n f ( d ) ⋅ g ( n d ) (f*g)(n)=\sum_{d|n}f(d) \cdot g(\frac{n}{d}) (f∗g)(n)=∑d∣nf(d)⋅g(dn)。
- 交换律: f ∗ g = g ∗ f f*g=g*f f∗g=g∗f
- 结合律: ( f ∗ g ) ∗ h = f ∗ ( g ∗ h ) (f*g)*h=f*(g*h)\quad (f∗g)∗h=f∗(g∗h)所以 f f f的 k k k次卷积可以用类似快速幂的方式
- 分配律: ( f + g ) ∗ h = f ∗ h + g ∗ h (f+g)*h=f*h+g*h (f+g)∗h=f∗h+g∗h
- 若 f , g f,g f,g为积性函数,则 f ∗ g f*g f∗g为积性函数
- 若 f , g f,g f,g为积性函数, n = ∏ i = 1 m p i α i n=\prod_{i=1}^{m}p_i^{\alpha_i} n=∏i=1mpiαi,则 f ∗ g ( n ) = ∏ i = 1 m f ∗ g ( p i α i ) f*g\,(n)=\prod_{i=1}^{m}f*g\,(p_i^{\alpha_i}) f∗g(n)=∏i=1mf∗g(piαi) 证明
常用公式
- ∑ d ∣ n μ ( d ) = [ n = 1 ] \sum_{d|n}\mu(d)=[n=1] ∑d∣nμ(d)=[n=1]
- ∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n ∑d∣nφ(d)=n
- ∑ i = 1 n i [ ( i , n ) = 1 ] = φ ( n ) n 2 n > 1 ( g c d ( i , n ) = 1 ⟺ g c d ( n − i , n ) = 1 , 所 以 两 两 配 对 和 等 于 n ) \sum_{i=1}^{n}i[(i,n)=1]=\frac{\varphi(n)n}{2}\quad n>1\quad(gcd(i,n)=1\Longleftrightarrow gcd(n-i,n)=1,所以两两配对和等于n) ∑i=1ni[(i,n)=1]=2φ(n)nn>1(gcd(i,n)=1⟺gcd(n−i,n)=1,所以两两配对和等于n) 证明
- ϵ ∗ f = f \epsilon*f=f ϵ∗f=f
- I ∗ μ = ϵ ⟺ [ n = 1 ] = ∑ d ∣ n μ ( d ) I*\mu=\epsilon\Longleftrightarrow[n=1]=\sum_{d|n}\mu(d) I∗μ=ϵ⟺[n=1]=∑d∣nμ(d)
- φ ∗ I = i d ⟺ ∑ d ∣ n φ ( d ) = n \varphi*I=id\Longleftrightarrow\sum_{d|n}\varphi(d)=n φ∗I=id⟺∑d∣nφ(d)=n
- μ ∗ i d = φ ⟺ ∑ d ∣ n n d ⋅ μ ( d ) \mu*id=\varphi\Longleftrightarrow\sum_{d|n}\frac{n}{d}\cdot\mu(d) μ∗id=φ⟺∑d∣ndn⋅μ(d)
- φ ( x n ) = x n − 1 φ ( x ) \varphi(x^n)=x^{n-1}\varphi(x) φ(xn)=xn−1φ(x)
- d ( n ⋅ m ) = ∑ i ∣ n ∑ j ∣ m [ ( i , j ) = 1 ] d(n\cdot m)=\sum_{i|n}\sum_{j|m}[(i,j)=1] d(n⋅m)=∑i∣n∑j∣m[(i,j)=1]
莫比乌斯反演
- 定理:
F
(
n
)
F(n)
F(n)和
f
(
n
)
f(n)
f(n)是定义在非负整数集合上的两个函数,并且满足条件:
F ( n ) = ∑ d ∣ n f ( d ) F(n)=\sum_{d|n}f(d) F(n)=d∣n∑f(d)
那么存在一个结论:
f ( n ) = ∑ d ∣ n μ ( d ) F ( n d ) f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d}) f(n)=d∣n∑μ(d)F(dn)
这个定理就称作莫比乌斯反演定理。 - 证明1
∑ d ∣ n μ ( d ) F ( n d ) = ∑ d ∣ n μ ( d ) ∑ i ∣ n d f ( i ) = ∑ i ∣ n f ( i ) ∑ d ∣ n i μ ( d ) = f ( n ) \begin{aligned} \sum_{d|n}\mu(d)F(\frac{n}{d})&=\sum_{d|n}\mu(d)\sum_{i|\frac{n}{d}}f(i) \\ &=\sum_{i|n}f(i)\sum_{d|\frac{n}{i}}\mu(d)\\ &=f(n) \end{aligned} d∣n∑μ(d)F(dn)=d∣n∑μ(d)i∣dn∑f(i)=i∣n∑f(i)d∣in∑μ(d)=f(n) - 证明2
F = f ∗ I F ∗ μ = f ∗ I ∗ μ F ∗ μ = f ∗ ϵ F ∗ μ = f \begin{aligned} F&=f*I\\ F*\mu&=f*I*\mu\\ F*\mu&=f*\epsilon\\ F*\mu&=f \end{aligned} FF∗μF∗μF∗μ=f∗I=f∗I∗μ=f∗ϵ=f
定理
若
F ( n ) = ∑ n ∣ d f ( d ) F(n)=\sum_{n|d}f(d) F(n)=n∣d∑f(d)
则有
f ( n ) = ∑ n ∣ d μ ( d n ) F ( d ) f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d) f(n)=n∣d∑μ(nd)F(d)
证明
∑ n ∣ d μ ( d n ) F ( d ) = ∑ n ∣ d μ ( d n ) ∑ d ∣ e f ( e ) = ∑ n ∣ e ∑ d ∣ e n μ ( d ) f ( e ) = ∑ n ∣ e f ( e ) [ e n = 1 ] = f ( n ) \begin{aligned} &\sum_{n|d}\mu(\frac{d}{n})F(d)\\ =&\sum_{n|d}\mu(\frac{d}{n})\sum_{d|e}f(e)\\ =&\sum_{n|e}\sum_{d|\frac{e}{n}}\mu(d)f(e)\\ =&\sum_{n|e}f(e)[\frac{e}{n}=1]\\ =&f(n) \end{aligned} ====n∣d∑μ(nd)F(d)n∣d∑μ(nd)d∣e∑f(e)n∣e∑d∣ne∑μ(d)f(e)n∣e∑f(e)[ne=1]f(n)
杜教筛 - 求 ∑ i = 1 n f ( i ) = S ( n ) \sum_{i=1}^{n}f(i)=S(n) ∑i=1nf(i)=S(n)
- 构造两个积性函数
h
h
h和
g
g
g,使得
h
=
f
∗
g
h=f*g
h=f∗g
∑ i = 1 n h ( i ) = ∑ i = 1 n ∑ d ∣ i g ( d ) ⋅ f ( i d ) = ∑ d = 1 n g ( d ) ⋅ ∑ i = 1 ⌊ n d ⌋ f ( i ) ∑ i = 1 n h ( i ) = ∑ d = 1 n g ( d ) ⋅ S ( ⌊ n d ⌋ ) \begin{aligned} \sum_{i=1}^{n}h(i)&=\sum_{i=1}^{n}\sum_{d|i}g(d)\cdot f(\frac{i}{d})\\ &=\sum_{d=1}^{n}g(d)\cdot\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}f({i})\\ \sum_{i=1}^{n}h(i)&=\sum_{d=1}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor) \end{aligned} i=1∑nh(i)i=1∑nh(i)=i=1∑nd∣i∑g(d)⋅f(di)=d=1∑ng(d)⋅i=1∑⌊dn⌋f(i)=d=1∑ng(d)⋅S(⌊dn⌋)
接着,我们将右边式子的第一项给提出来,可以得到:
∑ i = 1 n h ( i ) = g ( 1 ) ⋅ S ( n ) + ∑ d = 2 n g ( d ) ⋅ S ( ⌊ n d ⌋ ) g ( 1 ) S ( n ) = ∑ i = 1 n h ( i ) − ∑ d = 2 n g ( d ) ⋅ S ( ⌊ n d ⌋ ) \begin{aligned} \sum_{i=1}^{n}h(i)&=g(1)\cdot S(n)+\sum_{d=2}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor)\\ g(1)S(n)&=\sum_{i=1}^{n}h(i)-\sum_{d=2}^{n}g(d)\cdot S(\lfloor\frac{n}{d}\rfloor) \end{aligned} i=1∑nh(i)g(1)S(n)=g(1)⋅S(n)+d=2∑ng(d)⋅S(⌊dn⌋)=i=1∑nh(i)−d=2∑ng(d)⋅S(⌊dn⌋)
线性筛预处理 1 0 7 10^7 107 的前缀和
找 h h h和 g g g时把卷积形式写出来观察。