莫比乌斯反演

前置技能

数论基础

约定

1.  g c d ( a , b ) = ( a , b ) gcd(a,b)=(a,b) gcd(a,b)=(a,b)
2.  [ a ] = { 1 , a = t r u e 0 , a = f a l s e [a]=\begin{cases}1,a=true\\0,a=false\end{cases} [a]={1,a=true0,a=false

数论分块

已知 n , k n,k n,k,则暴力地求 S = ∑ i = 1 n ⌊ n i ⌋ \begin{aligned}S=\sum\limits_{i=1}^{^{^{^{^{}}}}n^{^{^{^{}}}}}\Big\lfloor\dfrac ni\Big\rfloor\end{aligned} S=i=1nin 需要 O ( n ) O(n) O(n) 的时间。我们把表 ( k = 10 ) (k=10) (k=10) 列出来看看。

i i i 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10
n i \dfrac{n}{i} in 10 10 10 5 5 5 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

其实最多只有 2 n 2\sqrt n 2n 种取值。
设当前枚举的下标为 i i i,当前位置的取值为 ⌊ n i ⌋ \Big\lfloor\dfrac ni\Big\rfloor in,则相同取值的最右端点下标为 ⌊ n ⌊ n i ⌋ ⌋ \Bigg\lfloor\dfrac n{\big\lfloor\frac ni \big\rfloor}\Bigg\rfloor inn
因而可以写出如下代码:

for(int l=1,r;l<=n;l=r+1){
    r=n/(n/l);
    ans+=(r-l+1)*(n/l);
}

时间复杂度 O ( n ) O(\sqrt n) O(n )


变形1 已知 n , k n,k n,k,求 S = ∑ i = 1 n ⌊ k i ⌋ \begin{aligned}S=\sum\limits_{i=1}^{^{^{^{}}}n^{^{^{}}}}\Big\lfloor\dfrac ki\Big\rfloor\end{aligned} S=i=1nik
解: 计算右端点时特判一下是否越界即可。

int len=min(n,k);
for(int l=1,r;l<=len;l=r+1){
    r=min(n,k/(k/l));
    if(r>n) r=n;//防止越过n
    ans+=(long long)(k/l)*(r-l+1);
}

变形2 已知 n , a , b n,a,b n,a,b,求 S = ∑ i = 1 n ⌊ a i ⌋ ⌊ b i ⌋ \begin{aligned}S=\sum_{i=1}^{^{^{^{}}}n^{^{^{}}}}\Big\lfloor\dfrac a{i}\Big\rfloor\Big\lfloor\dfrac b{i}\Big\rfloor\end{aligned} S=i=1niaib
解: 分段的时候分得细一些即可,这对时间复杂度的影响是常数级别的。

int len=min(n,min(a,b));
for(int l=1,r;l<=len;l=r+1){
    r=min(a/(a/l),b/(b/l));
    if(r>n) r=n;
    ans+=(r-l+1)*(a/l)*(b/l);
}

变形3 已知 n , a , b , k n,a,b,k n,a,b,k,求 S = ∑ i = 1 n ⌊ a i k ⌋ ⌊ b i k ⌋ \begin{aligned}S=\sum_{i=1}^{^{^{^{}}}n^{^{^{}}}}\Big\lfloor\dfrac a{ik}\Big\rfloor\Big\lfloor\dfrac b{ik}\Big\rfloor\end{aligned} S=i=1nikaikb
解: 首先,我们发现 ∑ \sum 的上界可以调紧一些。
S = ∑ i = 1 m i n ( n , a , b ) ⌊ a i k ⌋ ⌊ b i k ⌋ S=\sum_{i=1}^{min(n,a,b)}\Big\lfloor\dfrac a{ik}\Big\rfloor\Big\lfloor\dfrac b{ik}\Big\rfloor S=i=1min(n,a,b)ikaikb

由于 ⌊ a i k ⌋ ⌊ b i k ⌋ = ⌊ ⌊ a k ⌋ i ⌋ ⌊ ⌊ b k ⌋ i ⌋ \Big\lfloor\dfrac a{ik}\Big\rfloor\Big\lfloor\dfrac b{ik}\Big\rfloor=\Bigg\lfloor\dfrac {\Big\lfloor \dfrac{a}k\Big\rfloor}{i}\Bigg\rfloor\Bigg\lfloor\dfrac {\Big\lfloor \dfrac{b}k\Big\rfloor}{i}\Bigg\rfloor ikaikb=ikaikb,因此把 k k k 提出来:
S = ∑ i = 1 m i n ( n , a k , b k ) ⌊ ⌊ a k ⌋ i ⌋ ⌊ ⌊ b k ⌋ i ⌋ S=\sum_{i=1}^{\small min(n,\normalsize\frac ak\small,\normalsize\frac bk\small)}\Bigg\lfloor\dfrac {\Big\lfloor \dfrac{a}k\Big\rfloor}{i}\Bigg\rfloor\Bigg\lfloor\dfrac {\Big\lfloor \dfrac{b}k\Big\rfloor}{i}\Bigg\rfloor S=i=1min(n,ka,kb)ikaikb

这样就可以了。

int len=min(n,min(a/=k,b/=k));
for(int l=1,r;l<=len;l=r+1){
    r=min(a/(a/l),b/(b/l));
    if(r>n) r=n;
    ans+=(r-l+1)*(a/l)*(b/l);
}

变形4 已知 n n n,求 S = ∑ i = 1 n i × ⌊ n i ⌋ \begin{aligned}S=\sum\limits_{i=1}^{^{^{^{}}}n^{^{^{}}}}i\times \Big\lfloor \dfrac ni\Big\rfloor\end{aligned} S=i=1ni×in
解: 乘法分配律即可。

for(int l=1,r;l<=n;l=r+1){
	r=n/(n/l);
	ans+=(l+r)*(r-l+1)*(n/l)/2;
}

积性函数

例子
  1. 常函数 1 ( n ) = 1 1(n)=1 1(n)=1
  2. 单位元 ϵ ( n ) = { 1 , n = 1 0 , n ≠ 1 \epsilon(n)=\begin{cases}1,n=1\\0,n\not=1\end{cases} ϵ(n)={1,n=10,n=1
  3. 约数个数函数 d ( n ) = ∑ x ∣ n 1 \begin{aligned}d(n)=\sum\limits^{^{^{^{^{^{}}}}}}_{x|n}1\end{aligned} d(n)=xn1
  4. p p p 的唯一分解为 p = ∏ p i k i ( ∀ i ≠ j , p i ≠ p j ) \begin{aligned}p=\prod^{} p_i^{k_i}(\forall i\not=j,p_i\not=p_j)\end{aligned} p=piki(i=j,pi=pj),则 d ( p ) = ∏ ( k i + 1 ) \begin{aligned}d(p)=\prod ^{}(k_i+1)\end{aligned} d(p)=(ki+1)。(积性证明)
  5. 约数和函数 σ ( n ) = ∑ x ∣ n x \begin{aligned}σ(n)=\sum^{^{^{^{^{}}}}}_{x|n}x\end{aligned} σ(n)=xnx
  6. 约数k次幂函数 σ k ( n ) = ∑ x ∣ n x k \begin{aligned}σ_k(n)=\sum^{^{^{^{^{}}}}}_{x|n}x^k\end{aligned} σk(n)=xnxk
  7. 欧拉函数 φ ( n ) = ∑ 1 n [ ( i , n ) = 1 ] \begin{aligned}\varphi(n)=\sum_{1}^{^{^{}}n^{^{}}}[(i,n)=1]\end{aligned} φ(n)=1n[(i,n)=1]
  8. 莫比乌斯函数 μ ( x ) = { 1 , x = 1 ( − 1 ) k , x = p 1 p 2 . . . p k , ∀   p i ≠ p j ( p i 为 x 的唯一分解 ) 0 , o t h e r s \mu(x)=\begin{cases}1,& x=1\\(-1)^{k},& x=p_1p_2...p_k,\forall\ p_i\not=p_j( p_i 为 x 的唯一分解)\\0,& others\end{cases} μ(x)= 1,(1)k,0,x=1x=p1p2...pk, pi=pj(pix的唯一分解)others
  9. i d ( n ) = n id(n)=n id(n)=n
性质

如果 f f f g g g 是积性函数,则下列函数也是积性函数。
1.  h ( x ) = f ( x p ) h(x)=f(x^p) h(x)=f(xp)
2.  h ( x ) = f p ( x ) h(x)=f^p(x) h(x)=fp(x)
3.  h ( x ) = f ( x ) g ( x ) h(x)=f(x)g(x) h(x)=f(x)g(x)
4.  h ( x ) = ∑ d ∣ x f ( d ) g ( x d ) h(x)=\sum\limits_{d|x}f(d)g(\dfrac xd) h(x)=dxf(d)g(dx)

部分积性证明
欧拉函数

先说一下,网上那些根据通式证明的大多都是错的,因为通式需要积性证明。
结论 若 ( n , m ) = 1 (n,m)=1 (n,m)=1,则 φ ( n m ) = φ ( n ) φ ( m ) \varphi(nm)=\varphi(n)\varphi(m) φ(nm)=φ(n)φ(m)
证明 构造矩阵
    [ 1 2 ⋯ r ⋯ m m + 1 m + 2 ⋯ m + r ⋯ 2 m 2 m + 1 2 m + 2 ⋯ 2 m + r ⋯ 3 m ⋮ ⋮ ⋱ ⋮ ⋱ ⋮ ( n − 1 ) m + 1 ( n − 1 ) m + 2 ⋯ ( n − 1 ) m + r ⋯ n m ] \begin{bmatrix} &1&2&\cdots&r&\cdots&m\\ &m+1&m+2&\cdots&m+r&\cdots&2m\\ &2m+1&2m+2&\cdots&2m+r&\cdots&3m\\ &\vdots&\vdots&\ddots&\vdots&\ddots&\vdots\\ &(n-1)m+1&(n-1)m+2&\cdots&(n-1)m+r&\cdots&nm \end{bmatrix} 1m+12m+1(n1)m+12m+22m+2(n1)m+2rm+r2m+r(n1)m+rm2m3mnm
   可以发现, φ ( n m ) \varphi(nm) φ(nm) 指的是矩阵中与 n m nm nm 互质的数的个数。
   由于 ( n , m ) = 1 (n,m)=1 (n,m)=1,因此与 n m nm nm 互质的数相当于与 n n n 互质且和 m m m 互质的数的个数。
    ∵ ( k m + r , m ) = ( r , m ) \because (km+r,m)=(r, m) (km+r,m)=(r,m)
    ∴ \therefore 每一列的 n n n 个元素同时与 m m m 互素当且仅当 ( r , m ) = 1 (r,m)=1 (r,m)=1
    ∴ \therefore 与 m互素的列共有 φ ( m ) \varphi(m) φ(m)
   设 r r r 满足 ( r , m ) = 1 (r,m)=1 (r,m)=1,则第 r r r 列的元素为 r , m + r , ⋯   , ( n − 1 ) m + r r,m+r,\cdots,(n-1)m+r r,m+r,,(n1)m+r
   用反证法可以得出:它们模 n n n 的余数互不相同


证明 设存在 i i i j j j 满足 i ≢ j ( m o d n ) i\not\equiv j\pmod n ij(modn) i m + r ≡ j m + r ( m o d n ) im+r\equiv jm+r\pmod n im+rjm+r(modn)
   则根据同余的性质得 i m ≡ j m ( m o d n ) im\equiv jm\pmod n imjm(modn)
   又 ∵ ( n , m ) = 1 \because (n,m)=1 (n,m)=1
    ∴ \therefore 存在 m − 1 m^{-1} m1,满足 m × m − 1 ≡ 1 ( m o d n ) m\times m^{-1}\equiv1\pmod n m×m11(modn)
    ∴ i ≡ j ( m o d n ) \therefore i\equiv j\pmod n ij(modn)
   与假设矛盾。得证。


    \qquad\,\,\, 因此 r , m + r , ⋯   , ( n − 1 ) m + r r,m+r,\cdots,(n-1)m+r r,m+r,,(n1)m+r n n n 个数取遍了 0 0 0 n − 1 n-1 n1,其中和 n n n 互质的数的个数为 φ ( n ) \varphi(n) φ(n)。综上所述,共有 φ ( m ) \varphi(m) φ(m) 列,每列有 φ ( n ) \varphi(n) φ(n) 个数,因此总共有 φ ( n ) × φ ( m ) \varphi(n)\times\varphi(m) φ(n)×φ(m) 个。
   故 φ ( n m ) = φ ( n ) φ ( m ) \varphi(nm)=\varphi(n)\varphi(m) φ(nm)=φ(n)φ(m)

莫比乌斯函数

结论 若 ( n , m ) = 1 (n,m)=1 (n,m)=1 μ ( n m ) = μ ( n ) μ ( m ) \mu(nm)=\mu(n)\mu(m) μ(nm)=μ(n)μ(m)
证明 其实根据定义就可以很简单地得到。
   1. 当 n n n 存在某个大于 1 1 1 的因子为完全平方数时, μ ( n ) = 0 \mu(n)=0 μ(n)=0
     n m nm nm 的因子必然也有这个完全平方数,故 μ ( n m ) = μ ( n ) μ ( m ) = 0 \mu(nm)=\mu(n)\mu(m)=0 μ(nm)=μ(n)μ(m)=0
   2. 当 n n n 不存在大于 1 1 1 的因子为完全平方数时
     ∵ ( n , m ) = 1 \because (n,m)=1 (n,m)=1,即 n n n m m m 不含有相同的因子
     ∴ \therefore n m nm nm 的质因子个数等于 n n n 的质因子个数加 m m m 的质因子个数
    又 奇数 + + +奇数 = = =偶数,奇数 + + +偶数 = = =奇数,偶数 + + +偶数 = = =偶数
    对应 ( − 1 ) × ( − 1 ) = 1 , 1 × ( − 1 ) = − 1 , 1 × 1 = 1 (-1)\times(-1)=1,1\times(-1)=-1,1\times1=1 (1)×(1)=1,1×(1)=1,1×1=1
     ∴ μ ( n m ) = μ ( n ) μ ( m ) \therefore \mu(nm)=\mu(n)\mu(m) μ(nm)=μ(n)μ(m),得证。

筛积性函数
欧拉函数

欧拉函数有下面的性质。
性质1 若 m ∈ p r i m e , n ≡ 0 ( m o d m ) m\in prime,n≡0 \pmod m mprime,n0(modm) φ ( n × m ) = φ ( n ) × m \varphi(n\times m)=\varphi(n)\times m φ(n×m)=φ(n)×m
证明  构造矩阵
[ 1 2 ⋯ r ⋯ n n + 1 n + 2 ⋯ n + r ⋯ 2 n 2 n + 1 2 n + 2 ⋯ 2 n + r ⋯ 3 n ⋮ ⋮ ⋱ ⋮ ⋱ ⋮ ( m − 1 ) n + 1 ( m − 1 ) n + 2 ⋯ ( m − 1 ) n + r ⋯ m n ] \begin{bmatrix} &1&2&\cdots&r&\cdots&n\\ &n+1&n+2&\cdots&n+r&\cdots&2n\\ &2n+1&2n+2&\cdots&2n+r&\cdots&3n\\ &\vdots&\vdots&\ddots&\vdots&\ddots&\vdots\\ &(m-1)n+1&(m-1)n+2&\cdots&(m-1)n+r&\cdots&mn\\ \end{bmatrix} 1n+12n+1(m1)n+12n+22n+2(m1)n+2rn+r2n+r(m1)n+rn2n3nmn   由于 ( n , m ) = 1 (n,m)=1 (n,m)=1,因此与 n m nm nm 互质的数相当于与 n n n 互质且与 m m m 互质的数的个数。又由于 ( k n + r , n ) = ( r , n ) (kn+r,n)=(r, n) (kn+r,n)=(r,n)  因此每一列的 m m m 个元素同时与 n n n 互素当且仅当 ( r , n ) = 1 (r,n)=1 (r,n)=1。因此共有 φ ( n ) \varphi(n) φ(n) 列满足,其余列均不与 n n n 互质。   \, 其中满足 ( r , n ) = 1 (r,n)=1 (r,n)=1 的第 r r r 列第 k k k 行的数为 k n + r kn+r kn+r n ≡ 0 ( m o d m ) n≡0\pmod m n0(modm)  因此 k n + r ≡ 0 × k + r ≡ r ( m o d m ) kn+r≡0\times k+r≡r\pmod m kn+r0×k+rr(modm)因此 ( k n + r , m ) = ( r , m ) (kn+r,m)=(r,m) (kn+r,m)=(r,m) m ∣ n , ( r , n ) = 1 m|n,(r,n)=1 mn,(r,n)=1因此 ( r , m ) = 1 (r,m)=1 (r,m)=1 ( k n + r , m ) = 1 (kn+r,m)=1 (kn+r,m)=1
∴ \therefore 满足 ( r , n ) = 1 (r,n)=1 (r,n)=1 的第 r r r 列的所有 m m m 个数均与 n n n 互质。
∴ φ ( n × m ) = φ ( n ) × m \therefore \varphi(n\times m)=\varphi(n)\times m φ(n×m)=φ(n)×m

性质2 若 p ∈ p r i m e , i ≢ 0 ( m o d p ) p\in prime,i\not≡0 \pmod p pprime,i0(modp) φ ( i × p ) = φ ( i ) × ( p − 1 ) \varphi(i\times p)=\varphi(i)\times (p-1) φ(i×p)=φ(i)×(p1)
证明   ∵ \because 欧拉函数是积性函数, ( i , p ) = 1 (i,p)=1 (i,p)=1
     ∴ φ ( i × p ) = φ ( i ) × φ ( p ) \therefore \varphi(i\times p)=\varphi(i)\times\varphi(p) φ(i×p)=φ(i)×φ(p)
    又 p ∈ p r i m e p\in prime pprime
     ∴ φ ( p ) = p − 1 \therefore \varphi(p)=p-1 φ(p)=p1
     ∴ φ ( i × p ) = φ ( i ) × ( p − 1 ) \therefore φ(i×p)=φ(i)×(p−1) φ(i×p)=φ(i)×(p1)
代码:

void euler_phi(int n){
    memset(phi,0,sizeof phi);//欧拉函数表
    memset(vis,0,sizeof vis);//是否是质数
	phi[1]=1;
    for(int i=2;i<=n;i++){
	    if(!vis[i]){//找到质数
		    p[++tot]=i;//保存质数 
		    phi[i]=i-1;//质数的欧拉函数为它自身减1
		}
	    for(int j=1;j<=tot&&i*p[j]<=n;j++){
		    vis[i*p[j]]=1;//筛去合数
		    if(i%p[j]==0){
			    phi[i*p[j]]=phi[i]*p[j];//性质1
			    break;//继续下去没有意义,见欧拉筛法 
			}else
			    phi[i*p[j]]=phi[i]*(p[j]-1);//性质2
		}
	}
}
莫比乌斯函数
void euler_mu() {
	memset(mu,0,sizeof mu);//莫比乌斯函数表
	memset(vis,0,sizeof vis);//是否是质数
    mu[1]=1;//特判
    for(int i=2;i<=n;++i) {
	    if(!vis[i]) p[++tot]=i,mu[i]=-1;//是质数
	    for(int j=1;j<=tot&&i*p[j]<=n;++j) {
		    vis[i*p[j]]=1;
		    if(i%p[j]==0) {
			    mu[i*p[j]]=0;//有完全平方因子
			    break;
			}
		    mu[i*p[j]]=-mu[i];//积性函数(p是质数,mu[p[j]]=-1)
		}
	}
}
一般积性函数

%%   如果想要筛出函数 f f f ,需要能快速求出下面三个位置的函数取值。
f ( 1 ) , f ( p ) , f ( p k ) f(1),f(p),f(p^k) f(1),f(p),f(pk)  其实就是含有的质因子数小于等于1的所有数对应的函数值。其中 p p p 是质数, k k k 是正整数。
  对于一个常见积性函数,以上所有函数值都会给出,但如果是一个一般积性函数,就需要自行计算,上面的取值,现在假设我们已经求出了上面三种位置的函数值。
考虑在筛的时候,外层循环枚举到 i i i,内层循环枚举到 p r i [ j ] pri[j] pri[j],也就是说,当前正在筛 i × p r i [ j ] i\times pri[j] i×pri[j] 并计算 f ( i × p r i [ j ] ) f(i\times pri[j]) f(i×pri[j])
考虑对 i i i 唯一分解:   i = ∏ i = 1 k p i a i = p 1 a 1 p 2 a 2 … p k a k \begin{aligned}i=\prod_{i=1}^{k}p_i^{a_i}=p_1^{a_1}p_2^{a_2}\dots p_k^{a_k}\end{aligned} i=i=1kpiai=p1a1p2a2pkak  由欧拉筛法的精华所在(当 i ≡ 0 ( m o d p [ j ] ) i≡0\pmod {p[j]} i0(modp[j]) 时可以跳出内层循环),我们可以发现,内层循环满足 p r i [ j ] ⩽ p 1 pri[j]\leqslant p_1 pri[j]p1(当且仅当跳出内层循环时取 “ = ” “=” =)。下面开始分类讨论:
Part 1: 当 p r i [ j ] < p 1 pri[j]<p_1 pri[j]<p1 时,必然有 ( i , p r i [ j ] ) = 1 (i,pri[j])=1 (i,pri[j])=1,根据积性函数的定义有 f ( i × p r i [ j ] ) = f ( i ) × f ( p r i [ j ] ) {f(i\times pri[j])=f(i)\times f(pri[j])} f(i×pri[j])=f(i)×f(pri[j])
Part 2:当 p r i [ j ] = p 1 pri[j]=p_1 pri[j]=p1 时,我们还需要记录下每个数的最小值因子的指数次幂 l o w [ i ] = p 1 a 1 low[i]=p_1^{a_1} low[i]=p1a1,这个数值可以递推。有了这个数值以后,可以发现, i l o w [ i ] \begin{aligned}\frac i{low[i]}\end{aligned} low[i]i 不含有 p 1 p_1 p1 因子,而 l o w [ i ] × p r i [ j ] low[i]\times pri[j] low[i]×pri[j] 只含有 p 1 p_1 p1 因子( p r i [ j ] = p 1 pri[j]=p_1 pri[j]=p1),因而有 ( i l o w [ i ] , l o w [ i ] × p r i [ j ] ) = 1 \begin{aligned}\left(\frac i{low[i]},low[i]\times pri[j]\right)=1\end{aligned} (low[i]i,low[i]×pri[j])=1

f ( i l o w [ i ] ) × f ( l o w [ i ] × p r i [ j ] ) = f ( i × p r i [ j ] ) f\left(\frac{i}{low[i]}\right)\times f(low[i]\times pri[j])=f\left(i\times pri[j]\right) f(low[i]i)×f(low[i]×pri[j])=f(i×pri[j])

至此,我们求出了所有位置的函数值。

void sieve(long long n){
    vis[1]=low[1]=1;
    f[1]=1直接定义;
    for (long long i=2;i<=n;i++){
        if(!vis[i]) low[i]=pri[++tot]=i,f[i]=对质数直接定义;
        for(long long j=1;j<=tot&&i*pri[j]<=n;j++){
            vis[i*pri[j]]=1;
            if(i%pri[j]==0){
                low[i*pri[j]]=low[i]*pri[j];
                if(low[i]==i) f[i*pri[j]]=对质数的若干次幂进行定义(一般由f[i]递推);
                else f[i*pri[j]]=f[i/low[i]]*f[low[i]*pri[j]];
                break;
            }
			low[i*pri[j]]=pri[j];
            f[i*pri[j]]=f[i]*f[pri[j]];
        }
    }
}

Dirichlet 卷积

定义

数论函数 定义域为正整数,陪域1不懂)为复数的函数称为数论函数
Dirichlet \text{Dirichlet} Dirichlet 卷积 定义两个数论函数 f , g f,g f,g Dirichlet \text{Dirichlet} Dirichlet 卷积为 ( f ∗ g ) ( n ) = ∑ d ∣ n f ( d ) g ( n d ) (f*g)(n)=\sum\limits_{d|n}f(d)g(\dfrac nd) (fg)(n)=dnf(d)g(dn)  也叫做狄利克雷卷积。可以验证,它的单位元为 ϵ = e ϵ=e ϵ=e

性质

⒈  f ∗ g = g ∗ f f*g=g*f fg=gf
⒉  ( f ∗ g ) ∗ h = f ∗ ( g ∗ h ) (f*g)*h=f*(g*h) (fg)h=f(gh)
⒊  ( f + g ) ∗ h = f ∗ h + g ∗ h (f + g) * h = f * h + g * h (f+g)h=fh+gh
⒋  f ∗ ϵ = f f*ϵ=f fϵ=f
⒌  d = 1 ∗ 1 d=1*1 d=11 (代入定义式即得)
⒍  σ = d ∗ 1 σ=d*1 σ=d1 (代入定义式即得)
⒎  ϵ = μ ∗ 1 ϵ=\mu*1 ϵ=μ1
⒏  i d = φ ∗ 1 id=φ*1 id=φ1
⒐  φ = μ ∗ i d \varphi=\mu*id φ=μid
⒑ 若 f , g f,g f,g 均为积性函数,则 f ∗ g f*g fg 为积性函数
⒒ 若 c ∗ a = c ∗ b c*a=c*b ca=cb c ( 1 ) ≠ 0 c(1)\not=0 c(1)=0,则 a = b a=b a=b

证明

性质3证明
( f + g ) ∗ h = ∑ d ∣ n ( f + g ) ( d ) h ( n d ) = ∑ d ∣ n ( f ( d ) + g ( d ) ) h ( n d ) = ∑ d ∣ n f ( d ) h ( n d ) + g ( d ) h ( n d ) = ∑ d ∣ n f ( d ) h ( n d ) + ∑ d ∣ n g ( d ) h ( n d ) = f ∗ h + g ∗ h \begin{aligned} (f+g)*h&=\sum_{d|n}(f+g)(d)h(\frac nd)\\ &=\sum_{d|n}\Big(f(d)+g(d)\Big)h(\frac nd)\\ &=\sum_{d|n}f(d)h(\frac nd)+g(d)h(\frac nd)\\ &=\sum_{d|n}f(d)h(\frac nd)+\sum_{d|n}g(d)h(\frac nd)\\ &=f*h+g*h \end{aligned} (f+g)h=dn(f+g)(d)h(dn)=dn(f(d)+g(d))h(dn)=dnf(d)h(dn)+g(d)h(dn)=dnf(d)h(dn)+dng(d)h(dn)=fh+gh

性质7证明
性质7等价于 ∑ d ∣ n μ ( d ) = [ n = 1 ] \begin{aligned}\sum^{^{^{^{^{}}}}}_{d|n}\mu(d)=[n=1]\end{aligned} dnμ(d)=[n=1]
n = ∏ i = 1 k p i c i , n ′ = ∏ i = 1 k p i \begin{aligned}n=\prod\limits_{i=1}^{k} p_i^{c_i},n'=\prod\limits_{i=1}^k p_i\end{aligned} n=i=1kpici,n=i=1kpi
则有 ∑ d ∣ n μ ( d ) = ∑ d ∣ n ′ μ ( d ) = ∑ i = 0 k C k i × ( − 1 ) i \begin{aligned}\sum\limits_{d|n}\mu(d)=\sum\limits_{d|n'}\mu(d)=\sum\limits_{i=0}^kC_k^i\times (-1)^i\end{aligned} dnμ(d)=dnμ(d)=i=0kCki×(1)i
k = 0 k=0 k=0 时显然成立,否则有二项式定理

二项式定理: ( a + b ) n = ∑ i = 0 n C n i a n − i b i \begin{aligned}(a+b)^{n}=\sum_{i=0}^{^{^{^{}}}n^{^{^{}}}}C_n^ia^{n-i}b^i\end{aligned} (a+b)n=i=0nCnianibi

a = 1 , b = − 1 a=1,b=-1 a=1,b=1 时,有 ( 1 − 1 ) n = ∑ i = 0 n ( − 1 ) i × C n i = 0 \begin{aligned}(1-1)^n=\sum \limits _{i=0}^{^{^{^{}}}n^{^{^{}}}}(-1)^i\times C_n^i=0\end{aligned} (11)n=i=0n(1)i×Cni=0,得证。

性质8证明
性质8等价于 ∑ d ∣ n φ ( d ) = n \begin{aligned}\sum^{^{^{^{}}}}_{d|n}\varphi(d)=n\end{aligned} dnφ(d)=n
化简分数 1 n , 2 n , 3 n , ⋯   , n n \dfrac{1}{n}, \dfrac{2}{n}, \dfrac{3}{n}, \cdots,\dfrac{n}{n} n1,n2,n3,,nn
  \\\,
最简分数 a b \dfrac ab ba 在上面出现的话,当且仅当 b ∣ n b|n bn ( a , b ) = 1 (a,b)=1 (a,b)=1
那么不同的分母共有 ∑ x ∣ n 1 = d ( n ) \begin{aligned}\sum^{^{^{^{^{}}}}}_{x|n}1=d(n)\end{aligned} xn1=d(n)
其中,以 b b b 为分母的分数共 φ ( b ) \varphi(b) φ(b)
∑ d ∣ n φ ( d ) = n \begin{aligned}\sum^{ ^{ ^{ ^{ }}}}_{d|n}\varphi(d)=n\end{aligned} dnφ(d)=n,得证。

性质9证明
  易得 i d = i d ∗ ϵ id=id*ϵ id=idϵ
   ∵ φ ∗ 1 = i d , μ ∗ 1 = ϵ \because \varphi*1=id,\mu*1=ϵ φ1=id,μ1=ϵ
   ∴ φ ∗ 1 = i d ∗ μ ∗ 1 \therefore \varphi*1=id*\mu*1 φ1=idμ1
  两边同时约去 1 1 1,得 φ = μ ∗ i d \varphi=\mu*id φ=μid,得证。

性质10证明
前置结论:1. 若 ( n , m ) = 1 , d ∣ n m (n,m)=1, d|nm (n,m)=1,dnm,则必定存在 a ∣ n , b ∣ m a|n, b|m an,bm 且满足 a b = d ab=d ab=d
     2. 若 ( n , m ) = 1 , a ∣ n , b ∣ m (n,m)=1, a|n, b|m (n,m)=1,an,bm,则有 ( a , b ) = 1 (a,b)=1 (a,b)=1
     感性理解一下即可。
( n , m ) = 1 (n,m)=1 (n,m)=1,则有
( f ∗ g ) ( n m ) = ∑ d ∣ n m f ( d ) g ( n m d ) (f*g)(nm)=\sum_{d|nm} f(d)g(\frac{nm}{d}) (fg)(nm)=dnmf(d)g(dnm)根据前置结论1,有:
( f ∗ g ) ( n m ) = ∑ a ∣ n , b ∣ m f ( a b ) g ( n m a b ) (f*g)(nm)=\sum_{a|n,b|m}f(ab)g(\frac{nm}{ab}) (fg)(nm)=an,bmf(ab)g(abnm)根据前置结论2,可得: ( a , b ) = 1 (a,b)=1 (a,b)=1。又因为 f , g f,g f,g 均为积性函数,因此有:
( f ∗ g ) ( n m ) = ∑ a ∣ n , b ∣ m f ( a ) f ( b ) g ( n a ) g ( m b ) = ∑ a ∣ n f ( a ) g ( n a ) ∑ b ∣ m f ( b ) g ( m b ) = ( f ∗ g ) ( n ) × ( f ∗ g ) ( m ) \begin{aligned} (f*g)(nm)&=\sum_{a|n,b|m}f(a)f(b)g(\frac na)g(\frac mb)\\ &=\sum_{a|n}f(a)g(\frac na)\sum_{b|m}f(b)g(\frac mb)\\ &=(f*g)(n)\times(f*g)(m) \end{aligned} (fg)(nm)=an,bmf(a)f(b)g(an)g(bm)=anf(a)g(an)bmf(b)g(bm)=(fg)(n)×(fg)(m)

因而 f ∗ g f*g fg 为积性质函数。
性质11证明
  很容易发现,本条性质说明狄利克雷卷积满足消去律。
  要证明性质11,只需要证明在狄利克雷卷积意义下,所有函数都有逆元即可。即对于所有函数 f f f,存在函数 f − 1 f^{-1} f1,使得 f ∗ f − 1 = ϵ f*f^{-1}=ϵ ff1=ϵ
  注意到 ϵ ( 1 ) = 1 ϵ(1)=1 ϵ(1)=1 因而若函数 f f f 满足 f ( 1 ) = 0 f(1)=0 f(1)=0,则这个函数不可能有逆元,因为其与任何函数的狄利克雷卷积在 1 1 1 处的取值必然为 0 0 0
用数学表示,就是:设有数论函数 f f f,若 f ( 1 ) = 0 f(1)=0 f(1)=0,则不可能存在函数 f − 1 f^{-1} f1 使得 f ∗ f − 1 = ϵ f*f^{-1}=ϵ ff1=ϵ。因为当 n = 1 n=1 n=1 时, ( f ∗ f − 1 ) ( n ) = f ( 1 ) f − 1 ( 1 ) = 0 ≠ ϵ ( 1 ) = 1 (f*f^{-1})(n)=f(1)f^{-1}(1)=0\not=ϵ(1)=1 (ff1)(n)=f(1)f1(1)=0=ϵ(1)=1
  事实上,对于函数 f f f,当 f ( 1 ) ≠ 0 f(1)\not=0 f(1)=0 时,其狄利克雷卷积意义下的逆元必然存在,为:
f − 1 ( n ) = 1 f ( 1 ) ( ϵ ( n ) − ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) ) f^{-1}(n)=\frac 1{f(1)}\Bigg(ϵ(n)-\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)\Bigg) f1(n)=f(1)1(ϵ(n)dn,d=1f(d)f1(dn))  因此,我们只需要证明 f ∗ f − 1 = ϵ f*f^{-1}=ϵ ff1=ϵ 即可。容易得到:
( f ∗ f − 1 ) ( n ) = ∑ d ∣ n f ( d ) f − 1 ( n d ) = f ( 1 ) f − 1 ( n ) + ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) = f ( 1 ) × 1 f ( 1 ) ( ϵ ( n ) − ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) ) + ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) = ϵ ( n ) − ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) + ∑ d ∣ n , d ≠ 1 f ( d ) f − 1 ( n d ) = ϵ ( n ) \begin{aligned} (f*f^{-1})(n)&=\sum_{d|n}f(d)f^{-1}\Big(\frac nd\Big)\\ &=f(1)f^{-1}(n)+\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)\\ &=f(1)\times \frac 1{f(1)}\Bigg(ϵ(n)-\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)\Bigg)+\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)\\ &=ϵ(n)-\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)+\sum_{d|n,d\not=1}f(d)f^{-1}\Big(\frac nd\Big)\\ &=ϵ(n) \end{aligned} (ff1)(n)=dnf(d)f1(dn)=f(1)f1(n)+dn,d=1f(d)f1(dn)=f(1)×f(1)1(ϵ(n)dn,d=1f(d)f1(dn))+dn,d=1f(d)f1(dn)=ϵ(n)dn,d=1f(d)f1(dn)+dn,d=1f(d)f1(dn)=ϵ(n)  得证。

中心结论

结论  ∑ d ∣ ( i , j ) μ ( d ) = [ ( i , j ) = 1 ] \begin{aligned}\sum^{ ^{ ^{ }}}\limits_{d|(i,j)}\mu(d)=[(i,j)=1]\end{aligned} d(i,j)μ(d)=[(i,j)=1]
证明  ∵ μ ∗ 1 = ϵ \because μ*1=ϵ μ1=ϵ
    ∴ ∑ d ∣ n μ ( d ) = [ n = 1 ] \begin{aligned}\therefore \sum\limits_{d|n}\mu(d)=[n=1]\end{aligned} dnμ(d)=[n=1]
   将 n = ( i , j ) n=(i,j) n=(i,j) 代入,得证。

莫比乌斯反演

结论 设 f , g f,g f,g 均为数论函数,若满足 f ( n ) = ∑ d ∣ n g ( d ) \begin{aligned}f(n)=\sum^{ ^{ ^{^{^{}}}}}_{d|n}g(d)\end{aligned} f(n)=dng(d),则有 g ( n ) = ∑ d ∣ n μ ( d ) f ( n d ) \begin{aligned}g(n)=\sum^{ ^{^{^{^{}}}}}_{d|n}\mu(d)f(\dfrac nd)\end{aligned} g(n)=dnμ(d)f(dn)
证明 原命题等价于:若 f = g ∗ 1 f=g*1 f=g1,则 g = f ∗ μ g=f*\mu g=fμ
   两边同时卷 μ \mu μ f ∗ μ = g ∗ 1 ∗ μ f*\mu=g*1*\mu fμ=g1μ
    ∵ 1 ∗ μ = ϵ \because 1*\mu=ϵ 1μ=ϵ
    ∴ f ∗ μ = g ∗ 1 ∗ μ ⇒ f ∗ μ = g \therefore f*\mu=g*1*\mu\Rightarrow f*\mu=g fμ=g1μfμ=g,得证
没错,就这么一点。因为有了上面的证明,这里的证明十分简单。

变形1 若 F ( n ) = ∑ n ∣ d f ( d ) \begin{aligned}F(n)=\sum^{^{^{^{^{}}}}}_{n|d}f(d)\end{aligned} F(n)=ndf(d),则 f ( n ) = ∑ n ∣ d μ ( d n ) F ( d ) \begin{aligned}f(n)=\sum^{^{^{^{ ^{}}}}}_{n|d}\mu(\frac{d}{n})F(d)\end{aligned} f(n)=ndμ(nd)F(d)

变形2 若 f ( k ) = ∑ i = 1 ⌊ n k ⌋ g ( i k ) \begin{aligned}f(k)=\sum_{_{_{_{_{}}}}i=1_{_{_{ _{ }}}}}^{\big\lfloor{ \large\frac{n}{k}}\big\rfloor} g(ik)\end{aligned} f(k)=i=1kng(ik),则 g ( k ) = ∑ i = 1 ⌊ n k ⌋ f ( i k ) μ ( i ) \begin{aligned}g(k)=\sum_{_{_{_{_{}}}}i=1_{_{_{_{}}}}}^{\big\lfloor{\large \frac{n}{k}}\big\rfloor}f(ik)\mu(i)\end{aligned} g(k)=i=1knf(ik)μ(i)

题表

题目题解
[POI2007]ZAP-Queries莫比乌斯反演
[HAOI2011]Problem b莫比乌斯反演
[NOI2010]能量采集欧拉反演

参考资料

[1] 租酥雨,积性函数与线性筛

回收区

无视就好。

**性质1**若 $m\in prime,n≡0 \pmod m$ 则 $\varphi(n\times m)=\varphi(n)\times m$
**证明**构造矩阵
$\begin{bmatrix}
&1&2&\cdots&r&\cdots&n\\
&n+1&n+2&\cdots&n+r&\cdots&2n\\
&2n+1&2n+2&\cdots&2n+r&\cdots&3n\\
&\vdots&\vdots&\ddots&\vdots&\ddots&\vdots\\
&(m-1)n+1&(m-1)n+2&\cdots&(m-1)n+r&\cdots&mn\\
\end{bmatrix}$
由于 $(n,m)=1$,因此与 $nm$ 互质的数相当于与 $n$ 互质且与 $m$ 互质的数的个数。
$\because (kn+r,n)=(r, n)$
$\therefore$ 每一列的 $m$ 个元素同时与 $n$ 互素当且仅当 $(r,n)=1$。
$\therefore$ 共有 $\varphi(n)$ 列,其余列均不与 $n$ 互质。
$\,$其中满足 $(r,n)=1$ 的第 $r$ 列第 $k$ 行的数为 $kn+r$
又 $n≡0\pmod m$
$\therefore kn+r≡0\times k+r≡r\pmod m$
$\therefore (kn+r,m)=(r,m)$
又 $m\in prime,r<m$
$\therefore (kn+r,m)=1$
$\therefore$ 满足 $(r,n)=1$ 的第 $r$ 列的所有 $m$ 个数均与 $n$ 互质。
$\therefore \varphi(n\times m)=\varphi(n)\times m$
 
**性质1** 对于质数 $p$ 和正整数 $k$,有 $\varphi(p^k)=\varphi(p^{k-1})\times p$
**证明**  由于 $p\in prime$,因此除了 $p$ 的倍数之外,$1\sim p^k$ 之间所有数都与 $p^k$ 互质。也就是 ${\forall (1\leqslant t\leqslant p^k )∧(p\not|\,\;t),\text{gcd}(t,p^k)=1}$。而 $1\sim p^k$之间有 $\dfrac{p^k}{p}$ 个数是 $p$ 的倍数。
    因此有 $\varphi(p^k)=p^k-\dfrac {p^{k}}{p}=p^k\left(1-{\dfrac 1p}\right)$。
    因而 $\varphi(p^k)=p^{k-1}\left(1-{\dfrac 1p}\right)\times p=\varphi(p^{k-1})\times p$
    更进一步,我们还可以得到 $\varphi$ 的通项公式:
    $\begin{aligned}\varphi(p)&=\varphi(p_1^{a_1})\times \varphi(p_2^{a_2})\times \dots\times \varphi(p_k^{a_k})\\
&=n\times (1-\frac {1}{p_1})\times (1-\frac {1}{p_2})\times ……\times (1-\frac {1}{p_k})
\end{aligned}$

  1. 陪域是映射中的概念,其包含了值域在内,一般就是指值域,但又略有差别。其中值域是上下界绝对严格的,即不会出现边界虚大或虚小的情况,而陪域包括了不包含值域的部分,因而陪域仅仅是绝对包含值域的。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值