莫比乌斯函数

前导

要学习莫比乌斯函数 需要学习 到 积性函数,深度理解欧拉筛。

先说说什么是积性函数吧。

积性函数

其实积性函数非常好理解,
定义

积性函数:若gcd(a,b)=1,且满足f(ab)=f(a)f(b),则称f(x)为积性函数
完全积性函数:对于任意正整数a,b,都满足f(ab)=f(a)f(b),则称f(x)为完全积性函数
性质

1.若f(n),g(n)均为积性函数,则函数h(n)=f(n)g(n)也是积性函数
2.若f(n)为积性函数,则函数c*f(n)(c是常数)也是积性函数,反之一样
3.任何积性函数都能应用线性筛,在O(n)时间内求出1~n项(莫比乌斯就要用到),像素数,欧拉函数等都是 积性函数。

知道这些之后,我们就来看莫比乌斯函数。

莫比乌斯函数

定义:
莫比乌斯函数主要是个分段函数。
在这里插入图片描述
性质:
1.对于任意正整数n, ∑ d ∣ n n μ ( d ) = [ n = 1 ] \sum_{d|n}^{n}{μ(d)=[n=1]} dnnμ(d)=[n=1] 。([n==1]表示只有当n=1成立时,返回值为1;否则,值为0;(这个就是用μ是容斥系数的性质可以证明)(PS:这一条性质是莫比乌斯反演中最常用的)

2.对于任意正整数n, ∑ d ∣ n n μ ( d ) d = ϕ ( n ) n \sum_{d|n}^{n}{\frac{μ(d)}{d}=\frac{ϕ(n)}{n}} dnndμ(d)=nϕ(n) (这个性质很奇妙,它把欧拉函数和莫比乌斯函数结合起来)

强烈建议 : 深度理解完这两条性质之后,在去看莫比乌斯反演,要不莫比乌斯反演不容易懂。

至于如何求莫比乌斯函数:我们知道莫比乌斯函数跟欧拉函数一样都是积性函数,所以我们可以同 欧拉筛一样吧莫比乌斯函数筛出来。

void get_mu(ll n){
	mu[1]=1;// 存放 莫比乌斯函数;
	//isprime[] 存放 是否是质数
	//prime[]  存放  质数 
	for(int i=2;i<=n;i++){
		if(!isprime[i]) {
			prime[++cnt]=i;
			mu[i]=-1;
		}
		for(int j=1;j<=cnt&&i*prime[j]<=n;j++){
			isprime[i*prime[j]]=1;
			if(i%prime[j]==0){mu[i*prime[j]]=0;break;}//也可以直接break 因为里面本来存的就是0 
			else mu[i*prime[j]]=-mu[i];			
		}		
	} 
}

莫比乌斯反演

我只是掌握皮毛,有深层次的理解在更新,有更好的理解也可以分享给我哦~~~。 不胜感激!

莫比乌斯反演的引入:

F ( n ) = ∑ d ∣ n n f ( d ) F(n)=\sum_{d|n}^{n}{f(d)} F(n)=dnnf(d).

在这里插入图片描述
那么在这里插入图片描述
从中,可以看出,若 n=p2(p是质数)那么 F ( p ) = f ( 1 ) + f ( p ) , F ( n ) = f ( 1 ) + f ( p ) + f ( p 2 ) F\left( p \right)=f\left( 1 \right)+f\left( p \right),F\left( n \right)=f\left( 1 \right)+f\left( p \right)+f\left( p^2 \right) F(p)=f(1)+f(p),F(n)=f(1)+f(p)+f(p2),所以 f ( n ) = F ( p 2 ) − F ( p ) f\left( n \right)=F\left( p^2 \right)-F\left( p \right) f(n)=F(p2)F(p)
通过推广我们可以得到就像n=8,(!=p2) 他也满足这个式子

f ( n ) = ∑ d ∣ n n u ( d ) F ( n d ) f\left( n \right)=\sum_{d|n}^{n}{u\left( d \right)}{F\left( \frac{n}{d} \right)} f(n)=dnnu(d)F(dn)

根据上个推广的来的式子我们 就可以说 莫比乌斯反演定理了。

莫比乌斯反演定理

f ( n ) f\left ( n \right) f(n) g ( n ) g\left( n \right) g(n)是定义在正整数集合上的两个函数定义如下:
若函数 f ( n ) f\left( n \right) f(n)函数:
f ( n ) = ∑ d ∣ n n g ( d ) = ∑ d ∣ n g ( n d ) f\left( n \right)=\sum_{d|n}^{n}{g\left( d \right)}=\sum_{d|n}^{}{g\left( \frac{n}{d} \right)} f(n)=dnng(d)=dng(dn)
则有:
在这里插入图片描述

莫比乌斯反演定理证明

参考着个吧
理解就行。重要是定理。(个人认为)

莫比乌斯反演另一性质(与欧拉函数有关)

若n>1且n为正整数,则有 ∑ d ∣ n u ( d ) = 0 \sum_{d|n}^{}{u\left( d \right)}=0 dnu(d)=0
若n=1,则该式为1、
2,
对任意正整数n均有:

∑ d ∣ n u ( d ) d = ϕ ( n ) n \sum_{d|n}^{}{\frac{u\left( d \right)}{d}}=\frac{\phi \left( n \right)}{n} dndu(d)=nϕ(n)

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值