【学习笔记】莫比乌斯反演
前言:求赞啊啦啦
积性函数
-
积性函数:对于任意互质的整数\(a\)和\(b\)有性质\(f(ab)=f(a)f(b)\)的数论函数。
-
完全积性函数:对于任意整数\(a\)和\(b\)有性质\(f(ab)=f(a)f(b)\)的数论函数。
-
关于一些常用的积性函数:
(打星号的可以不用记
\(\varphi(n)\) -欧拉函数
\(\mu(n)\) -莫比乌斯函数,关于非平方数的质因子数目
\(d(n)\) - \(n\)的正因子数目
\(\sigma(n)\) -\(n\)的所有正因子之和
\(I(n)\) -定义为 \(I(n) = 1\) (完全积性)
\(Id(n)\) -\(ID\)函数,定义为 \(Id(n) = n\)(完全积性)
\(\epsilon(n)\) -单位函数,定义为:若\(n = 1\),\(\epsilon(n)=1\);若 \(n > 1\),\(\epsilon(n)=0\)。别称为"对于狄利克雷卷积的乘法单位"(完全积性)
*** \(Idk(n)\) -幂函数,对于任何复数、实数k,定义为\(Idk(n) = n^k\) (完全积性)
关于莫比乌斯函数和欧拉函数的一些定义
前置知识:数论分块
建议不了解 数论分块(整除分块) 的同学了解一下,这个在许多莫反的题目里都有重要的作用
数论分块:一个求
的东西
暴力复杂度显然为\(O(n)\),但是数论分块复杂度为\(O(\sqrt{n})\)
tql!!!
证明:
我们可以发现有许多\(i\)的\(\lfloor \dfrac n i\rfloor\)都是相等的,所以我们可以把相等的分成块,显然:
\(i>\sqrt n\)时\(\lfloor \dfrac n i\rfloor< \sqrt n\)
\(i \le \sqrt n\)时\(i\)有\(\sqrt n\)
个
证毕
for(int l=1,r;l<=n;l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
筛莫比乌斯函数和欧拉函数
首先知道欧拉函数和莫比乌斯函数共同的性质:他们都是积性函数
欧拉函数的特征:
莫比乌斯函数的特征:
void get_phi(){
//筛欧拉函数
phi[1]=1;
for(int i=2;i<=n;i++){
if(!check[i]){
prime[++cnt]=i;
phi[i]=i-1;
}
for(int j=1;j<=cnt&&prime[j]*i<=n;j++){
check[i*prime[j]]=1;
if(i%prime[j]) phi[i*prime[j]]=phi[i]*(prime[j]-1);
else{
phi[i*prime[j]]=phi[i]*prime[j];
break;
}
}
}
}
void get_mu(int n)//筛莫比乌斯函数
{
mu[1]=1;
for(int i=2;i<=n;i++)
{
if(!vis[i]){prim[++cnt]=i;mu[i]=-1;}
for(int j=1;j<=cnt&&prim[j]*i<=n;j++)
{
vis[prim[j]*i]=1;
if(i%prim[j]==0)break;
else mu[i*prim[j]]=-mu[i];
}
}
}
狄利克雷卷积
定义\(f,g\)两个函数的狄利克雷卷积\((*)\)运算为:
狄利克雷卷积的性质:
交换律:\(f*g=g*f\)
结合律:\((f*g)*h=f*(g*h)\)
\((f*\epsilon)(n)=f(n)\)
若\(f,g\)均为积性函数,则\(f*g\)也为积性函数。
一些例子:
即
莫比乌斯反演
一些有趣的性质:
证明:
假设\(n=p_1^kp_2^k...p_x^k\)
那么有
\(\mu(1)+ \mu(p^1) + \mu(p^2) + \mu(p^3)+...\mu(p^k)\)
\(p=1\) 那么\(\mu(1)=1\)
\(p!=1\) 那么\(\mu(1)+ \mu(p^1) + \mu(p^2) + \mu(p^3)+...\mu(p^k)=0\)
当\(k=1\) \(\mu(1)+ \mu(p^1)=1+(-1)=0\)
当\(k=2\) \(\mu(1)+ \mu(p^1)+\mu(p^2)=1+(-1)+0=0\)
可见对于任意质数\(p\)均有以上规律
证毕
(不会证..咕咕咕
反演:
若
则
若
则
证明:
方法\(1\):
方法\(2\):
已知\(f=g*I\),求证$g=f*\mu $
\(f*\mu=g*I*\mu=g(I*\mu=\epsilon)\)
欧拉反演
即
证明:
由于\(p\in prime\)
所以\(d=p^0,p^1...p^c\)
重要知识
根据
设\(gcd(i,j)=n\)可得
学习笔记参考\(oi-wiki\)