莫比乌斯反演问题若干

因为接触到了积性函数的线性筛的问题,之前有过类似问题但是不够系统,所以想把遇到过的所有的反演问题的问题记录一下。
问题1:
a n s = ∑ a N ∑ b M g c d ( a , b ) ans=\sum_a^N\sum_b^Mgcd(a,b) ans=aNbMgcd(a,b)
这个问题比较经典啦。
f ( d ) 为 g c d ( x , y ) 为 d 的 对 数 , F ( d ) 为 d ∣ g c d ( x , y ) 的 对 数 f(d)为gcd(x,y)为d的对数,F(d)为d|gcd(x,y)的对数 f(d)gcd(x,y)dF(d)dgcd(x,y)
所以易知 F ( n ) = ∑ n ∣ d f ( d ) F(n)=\sum_{n|d}f(d) F(n)=ndf(d)
反演得: f ( n ) = ∑ n ∣ d μ ( d n ) F ( d ) f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d) f(n)=ndμ(nd)F(d)
那么: a n s = ∑ i i ∑ i ∣ d μ ( d i ) F ( d ) = ∑ d F ( d ) ∑ i ∣ d μ ( d i ) i = ∑ d F ( d ) ∑ i ∣ d μ ( i ) d i ans=\sum_ii\sum_{i|d}\mu(\frac{d}{i})F(d)\\=\sum_{d}F(d)\sum_{i|d}\mu(\frac{d}{i})i\\=\sum_{d}F(d)\sum_{i|d}\mu(i)\frac{d}{i} ans=iiidμ(id)F(d)=dF(d)idμ(id)i=dF(d)idμ(i)id
h ( d ) = ∑ i ∣ d μ ( i ) d i h(d)=\sum_{i|d}\mu(i)\frac{d}{i} h(d)=idμ(i)id
我可以观察一下这个函数的性质是否满足积性函数的性质。设 p , q p,q p,q为质数.
那么 h ( p ) = p − 1 h(p)=p-1 h(p)=p1,所以 h ( q ) h ( p ) = ( p − 1 ) ( q − 1 ) h(q)h(p)=(p-1)(q-1) h(q)h(p)=(p1)(q1)
因为 h ( p q ) = p q ( 1 − 1 q − 1 p + 1 p q ) = ( p − 1 ) ( q − 1 ) = h ( q ) h ( p ) h(pq)=pq(1-\frac{1}{q}-\frac{1}{p}+\frac{1}{pq})=(p-1)(q-1)=h(q)h(p) h(pq)=pq(1q1p1+pq1)=(p1)(q1)=h(q)h(p),所以是积性函数。
现在我们看 h ( p k ) h(p^{k}) h(pk)这个函数的表达式。
因为k只要大于1, μ 函 数 都 为 0 \mu函数都为0 μ0,所以易知 h ( p k ) = p k − p k − 1 h(p^{k})=p^k-p^{k-1} h(pk)=pkpk1
我发现这个函数表现的性质和欧拉函数是一样的**!**
也就是说 ϕ ( d ) = ∑ i ∣ d μ ( i ) d i \phi(d)=\sum_{i|d}\mu(i)\frac{d}{i} ϕ(d)=idμ(i)id
所以原式为: a n s = ∑ d F ( d ) ϕ ( d ) ans=\sum_{d}F(d)\phi(d) ans=dF(d)ϕ(d)
那么问题已经有答案了,现在回过头来看这个关系,可以说是莫比乌斯函数和欧拉函数之间变换的桥梁:
ϕ ( d ) = ∑ i ∣ d μ ( i ) d i = ∑ i ∣ d μ ( d i ) i \phi(d)=\sum_{i|d}\mu(i)\frac{d}{i}=\sum_{i|d}\mu(\frac{d}{i})i ϕ(d)=idμ(i)id=idμ(id)i
但是我们发现这个就是经过反演后的式子,所以我们应该还可以在还原到没有经过反演过的形式,则有:
n = ∑ d ∣ n ϕ ( d ) n=\sum_{d|n}\phi(d) n=dnϕ(d)
那么现在会有一个问题,既然答案没有莫比乌斯函数只有欧拉函数,我们能不能直接用如上的关系式来直接化简?
的确是可以的。
所以: a n s = ∑ a N ∑ b M ∑ d ∣ g c d ( a , b ) ϕ ( d ) = ∑ a N ∑ b M ∑ d ∣ a 且 d ∣ b ϕ ( d ) = ∑ d m i n ( N , M ) ϕ ( d ) N d M d ans=\sum_a^N\sum_b^M\sum_{d|gcd(a,b)}\phi(d)\\=\sum_a^N\sum_b^M\sum_{d|a且d|b}\phi(d)\\ =\sum_d^{min(N,M)}\phi(d)\frac{N}{d}\frac{M}{d} ans=aNbMdgcd(a,b)ϕ(d)=aNbMdadbϕ(d)=dmin(N,M)ϕ(d)dNdM
假如n和m的范围都在 1 0 5 10^5 105这样,且有多组输入,那么就需要分块来加速,这样就需要处理 ϕ ( x ) \phi(x) ϕ(x)的前缀和。
问题2
a n s = ∑ a N ∑ b M l c m ( a , b ) ans=\sum_a^N\sum_b^Mlcm(a,b) ans=aNbMlcm(a,b)
问题2看似和问题1相差不大,但是推导异常繁杂,下次再这两个问题之间更新一下简化的问题。
首先: a n s = ∑ a N ∑ b M a b g c d ( a , b ) ans=\sum_a^N\sum_b^M \frac{ab}{gcd(a,b)} ans=aNbMgcd(a,b)ab
这里我们来枚举 d = g c d ( a , b ) d=gcd(a,b) d=gcd(a,b):
a n s = ∑ d m i n ( N , M ) ∑ a N ∑ b M [ g c d ( a , b ) = = d ] a b d = ∑ d m i n ( N , M ) d ∑ a ⌊ N d ⌋ ∑ b ⌊ M d ⌋ [ g c d ( a , b ) = = 1 ] a b ans=\sum_d^{min(N,M)}\sum_a^N\sum_b^M[gcd(a,b)==d]\frac{ab}{d}\\= \sum_d^{min(N,M)}d\sum_a^{\lfloor\frac{N}{d}\rfloor}\sum_b^{\lfloor\frac{M}{d}\rfloor}[gcd(a,b)==1]ab ans=dmin(N,M)aNbM[gcd(a,b)==d]dab=dmin(N,M)dadNbdM[gcd(a,b)==1]ab

然后这里引入: ∑ d ∣ n μ ( d ) = [ n = 1 ] \sum_{d|n}\mu(d)=[n=1] dnμ(d)=[n=1].
所以:
a n s = ∑ d m i n ( N , M ) d ∑ a ⌊ N d ⌋ ∑ b ⌊ M d ⌋ a b ∑ k ∣ g c d ( a , b ) μ ( k ) ans=\sum_d^{min(N,M)}d\sum_a^{\lfloor\frac{N}{d}\rfloor}\sum_b^{\lfloor\frac{M}{d}\rfloor}ab\sum_{k|gcd(a,b)}\mu(k) ans=dmin(N,M)dadNbdMabkgcd(a,b)μ(k)
发现内嵌的三个和式子和第一个问题有相似之处.做同样的处理:
设$ g(x)=1+2+3+…+x$
f ( n , m ) = ∑ a n ∑ b m a b ∑ k ∣ g c d ( a , b ) μ ( k ) f(n,m)=\sum_a^{n}\sum_b^{m}ab\sum_{k|gcd(a,b)}\mu(k) f(n,m)=anbmabkgcd(a,b)μ(k)
f ( n , m ) = ∑ k m i n ( n , m ) μ ( k ) k 2 g ( ⌊ n k ⌋ ) g ( ⌊ m k ⌋ ) f(n,m)=\sum_k^{min(n,m)}\mu(k)k^2g(\lfloor\frac{n}{k}\rfloor)g(\lfloor\frac{m}{k}\rfloor) f(n,m)=kmin(n,m)μ(k)k2g(kn)g(km)

所以 a n s = ∑ d m i n ( N , M ) d f ( ⌊ N d ⌋ , ⌊ M d ⌋ ) ans=\sum_d^{min(N,M)}df(\lfloor\frac{N}{d}\rfloor,\lfloor\frac{M}{d}\rfloor) ans=dmin(N,M)df(dN,dM)

因为 ⌊ ⌊ N d ⌋ d ′ ⌋ = ⌊ N d d ′ ⌋ \lfloor\frac{\lfloor\frac{N}{d}\rfloor}{d'}\rfloor=\lfloor\frac{N}{dd'}\rfloor ddN=ddN

所以整合到原式
a n s = ∑ d m i n ( N , M ) d ∑ k m i n ( ⌊ N d ⌋ , ⌊ M d ⌋ ) μ ( k ) k 2 g ( ⌊ N k d ⌋ ) g ( ⌊ M k d ⌋ ) ans=\sum_d^{min(N,M)}d\sum_k^{min(\lfloor\frac{N}{d}\rfloor,\lfloor\frac{M}{d}\rfloor)}\mu(k)k^2g(\lfloor\frac{N}{kd}\rfloor)g(\lfloor\frac{M}{kd}\rfloor) ans=dmin(N,M)dkmin(dN,dM)μ(k)k2g(kdN)g(kdM)

h ( x ) = g ( ⌊ N x ⌋ ) g ( ⌊ M x ⌋ ) h(x)=g(\lfloor\frac{N}{x}\rfloor)g(\lfloor\frac{M}{x}\rfloor) h(x)=g(xN)g(xM)
a n s = ∑ d d ∑ k μ ( k ) k 2 h ( k d ) ans=\sum_dd\sum_k\mu(k)k^2h(kd) ans=ddkμ(k)k2h(kd)

t = k d t=kd t=kd
a n s = ∑ t h ( t ) ∑ k ∣ t μ ( k ) k 2 t k = ∑ t h ( t ) t ∑ k ∣ t μ ( k ) k ans=\sum_th(t)\sum_{k|t}\mu(k)k^2\frac{t}{k}\\= \sum_th(t)t\sum_{k|t}\mu(k)k ans=th(t)ktμ(k)k2kt=th(t)tktμ(k)k

l ( n ) = ∑ k ∣ n μ ( k ) k l(n)=\sum_{k|n}\mu(k)k l(n)=knμ(k)k
易知 l ( n ) l(n) l(n)是个积性函数,用欧拉筛线性处理即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值