(前置技能)
- 学会莫比乌斯函数必须要先知道狄利克雷函数
- 以及什么是逆元(一本正经胡说八道)
(狄利克雷卷积)
两个函数 $f,g$
<font size="3">$egin{aligned}f*g(n)=sum_{d|n}^nf(d)g(frac{n}{d})end{aligned}$
* 性质
__交换律__$ f*g=g*f$
__结合律__$ f*g*h=f*(g*h)$
__加法分配率__$ f*(g+h)=f*g+f*h$
(几个定理)
* ① 定义单位函数$I(n)=[n=1]$,即只有当n等于1时,$I(1)=1$,其余情况都为0
* ② $I * f=f$
* ③ 已知函数$f$,定义函数$f$的逆$f^{-1}$,满足$f * f^{-1}=I$,且积性函数的逆也是积性函数
* ④ 由③可得$f^{-1}(1)=frac{1}{f(1)}$
* ⑤ 令$xi(n)=1$
(莫比乌斯函数)
- 莫比乌斯函数 (mu=xi^{-1})
(n=p_1^{a_1}·p_2^{a_2}·cdots p_k^{a_k})
(mu(n)=xi^{-1}(n)= left{egin{matrix}1 &n=1 \(-1)^k &a1=a2=cdots =ak=1&\ 0&otherwise end{matrix} ight.)
(如何推导)
-
(如何求逆)
③等价于
(egin{aligned}forall n: sum_{d|n} f(d)·f^{-1}(frac nd)=[n=1]end{aligned})
(egin{aligned}sum_{d|n}f(d)·f^{-1}(frac nd)=I(n) (n= ot 1)=0end{aligned})
(f^{-1}(n)·f(1)=-sum_{d|n,d= ot1}f(d)·f^{-1}(frac nd))
(egin{aligned}f^{-1}(n)=frac{-sum_{d|n,d= ot1}f(d)·f^{-1}(frac nd)}{f(1)}end{aligned}) -
(莫比乌斯函数)
令 (f=xi),(p)为质数
(f^{-1}(1)=1)
(f^{-1}(p)=frac{-f(p)·f^{-1}(1)}{f(1)}=-1)
(f^{-1}(p^2)=-(f(p^2)·f^{-1}(1)+f(p)·f^{-1}(p))=0)
(f^{-1}(p^3)=-(f(p^3)·f^{-1}(1)+f(p^2)·f^{-1}(p)+f(p)·f^{-1}(p^2))=0)
(egin{aligned}f^{-1}(p^k)=-sum_{i=1}^k f(p^i)·f^{-1}(p^{k-i})end{aligned})
其中只有 (f(p^k)·f^{-1}(1)=1,f(p^{k-1})·f^{-1}(p)=-1),其余项都是0
(f^{-1}(p^k)=left{egin{matrix}-1 & k=1\0 & k>1 end{matrix} ight.)
(n=p_1^{a_1}·p_2^{a_2}·cdots p_k^{a_k})
所以莫比乌斯函数可以推出来了
(mu(n)=f^{-1}(n)= left{egin{matrix}1 &n=1 \(-1)^k &a1=a2=cdots =ak=1&Leftarrow 积性函数推出 \ 0&otherwise end{matrix} ight.)
(莫比乌斯函数的性质)
- (mu*xi=I)
因为(mu=xi^{-1})
所以有(egin{aligned}sum_{d|n}^nmu(d)=sum_{d|n}^nmu·1=mu*xi(n)=I(n)=[n=1]end{aligned})
记住这句,下面的证明要用到 - (I*f=f)
- (f*mu*xi=f)
- (f*xi=g Rightarrow f=g*mu)
(线性筛)
利用积性函数的性质以及(mu)的表达式
int cnt;
int prime[maxn],mu[maxn];
bool vis[maxn];
void mu_sieve (int n)
{
mu[1]=1;
for (int i=2;i<=n;++i){
if (!vis[i]){ prime[++cnt]=i,mu[i]=-1;}
for (int j=1;j<=cnt&&i*prime[j]<=n;++j){
vis[i*prime[j]]=true;
if (i%prime[j]==0){
mu[i*prime[j]]=0;
break;
}
mu[i*prime[j]]=-mu[i];
}
}
}
(莫比乌斯反演)
-
若有 (egin{aligned}g(n)=sum_{d|n}f(d)end{aligned})
则有 (egin{aligned}f(n)=sum_{d|n}mu(d)g(frac{n}{d})=sum_{d|n}mu(frac{n}{d})g(d)end{aligned})-
(证明)
法一 (egin{aligned} sum_{d|n}{mu(d)g(frac{n}{d})}=sum_{d|n}{mu(d)sum_{x|frac{n}{d}}{f(x)}}=sum_{x|n}{f(x)}sum_{d|frac{n}{x}}{mu(d)}=sum_{x|n}{f(x)[frac{n}{x}=1]}=f(n) end{aligned})
法二 (g=f*xi,f=g*mu)
-
-
若有(egin{aligned}g(n)=sum_{n|d}f(d)end{aligned})
则有(egin{aligned}f(n)=sum_{n|d}mu(frac{d}{n})g(d)end{aligned})-
(证明)
(egin{aligned}sum_{n|d}mu(frac{d}{n})g(d)=sum_{k=1}^{+infty}mu(k)g(kn)=sum_{k=1}^{+infty}mu(k)sum_{kn|d}f(d)=sum_{n|d}f(d)sum_{k|frac{d}{n}}mu(k)=sum_{n|d}f(d)[frac{d}{n}=1]=f(n) end{aligned})
这一种一般用的比较多
-
(莫比乌斯反演的应用)
莫比乌斯函数一般用于(gcd)中
(egin{aligned}
sum_{i=1}^nsum_{j=1}^mgcd(i,j)&=sum_d^{min(n,m)} dsum_{i=1}^nsum_{j=1}^m[gcd(i,j)=d] \
&=sum_{d}^{min(n,m)}dsum_{i=1}^{frac nd}sum_{j=1}^{frac md}[gcd(i,j)=1] \
&=sum_{d}^{min(n,m)}dsum_{i=1}^{frac nd}sum_{j=1}^{frac md}sum_{kmid gcd(i,j)}mu(k) \
&=sum_d^{min(n,m)} dsum_k^{min(frac{n}{d},frac{m}{d})}mu(k)sum_{kmid i}^{frac nd}sum_{kmid j}^{frac md} \
&=sum_{d}^{min(n,m)}dsum_k^{min(frac{n}{d},frac{m}{d})}mu(k)lfloor frac n{kd}
floor lfloorfrac m{kd}
floor
end{aligned})
令(T=kd)
(egin{aligned}
=sum_{T}^{min(n,m)}lfloorfrac nT
floorlfloorfrac mT
floorsum_{kmid T}frac Tkmu(k)end{aligned})
以上是莫比乌斯反演推出来的式子
(egin{aligned} =sum_{T}^{min(n,m)}lfloorfrac nT
floorlfloorfrac mT
floorvarphi(T)end{aligned})
这一步是欧拉反演,证明请移步欧拉函数|(扩展)欧拉定理|欧拉反演
当然,这里这个例子不如直接用欧拉反演
(egin{aligned}sum_{i=1}^nsum_{j=1}^mgcd(i,j)&=sum_{i=1}^nsum_{j=1}^msum_{d|gcd(i,j)}varphi(d)=sum_{d=1}^{min(n,m)}lfloorfrac{n}{d}
floorlfloorfrac{m}{d}
floorvarphi(d)end{aligned})
如有哪里讲得不是很明白或是有错误,欢迎指正
如您喜欢的话不妨点个赞收藏一下吧