莫比乌斯反演总结

  \;

算术函数

定义

定义域为正整数、函数值为复数的函数叫算术函数,即映射f:\N\to\C
例如:

0(n)=01(n)=1δ(n)={1n=10n20(n)=0\\ 1(n)=1\\ \delta(n)= \begin{cases} 1&{n=1}\\ 0&{n\ge2}\\ \end{cases}

算术函数间的运算

  1. 相加:(f+g)(n)=f(n)+g(n)(f+g)(n)=f(n)+g(n)
  2. 相乘:(fg)(n)=f(n)g(n)(f\cdot g)(n)=f(n)\cdot g(n)
  3. 狄利克雷卷积:(fg)(n)=dnf(d)g(nd)=dnf(nd)g(d)(f\otimes g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})=\sum_{d|n}f(\frac{n}{d})g(d)
    卷积的性质:
    • 交换律:fg=gff\otimes g=g\otimes f
    • 结合律:(fg)h=f(gh)(f\otimes g)\otimes h=f\otimes (g\otimes h)
    • 分配律:f(g+h)=fg+fhf\otimes (g+h)=f\otimes g+f\otimes h
    • 单位元δ\deltafδ=f=δff\otimes\delta=f=\delta\otimes f
    • 逆元:对于fff1\exists f^{-1}使得ff1=δf\otimes f^{-1}=\delta

莫比乌斯函数与反演

定义

μ(n)={1n=1(1)kn=p1×p2××pk0p满足p2n\mu(n)= \begin{cases} 1&&{n=1}\\ (-1)^k & & {n=p_1\times p_2\times\cdots\times p_k}\\ 0& & {\exists{p}满足p^2|n} \end{cases}

性质

结论1dnμ(d)=δ\sum_{d|n}\mu(d)=\delta
证明:
ssnn的质因子个数,w(x)w(x)xx的质因子个数
rad(n)rad(n)nn的所有质因子之积,即若n=p1k1×p2k2××psksn=p_1^{k_1}\times p_2^{k_2}\times\cdots\times p_s^{k_s},则rad(n)=p1×p2××psrad(n)=p_1\times p_2\times\cdots\times p_s
n=1n=1时,d1μ(d)=μ(1)=1\sum_{d|1}\mu(d)=\mu(1)=1
n>1n>1时,

dnμ(d)=drad(n)μ(d)=i=1sdrad(n),w(d)=iμ(d)=i=1s(si)(1)i=i=1s(si)1i(1)si=(11)s=0\begin{aligned} \sum_{d|n}\mu(d)&=\sum_{d|rad(n)}\mu(d)\\ &=\sum_{i=1}^{s}\sum_{d|rad(n),w(d)=i}\mu(d)\\ &=\sum_{i=1}^{s}\binom{s}{i}(-1)^i\\ &=\sum_{i=1}^{s}\binom{s}{i}\cdot1^{i}\cdot(-1)^{s-i}\\ &=(1-1)^s\\ &=0\\ \end{aligned}

推论:LHS=μ1,  RHS=δ\mathrm{LHS}=\mu\otimes1,\;\mathrm{RHS}=\delta  μ1=δ,  μ1=1\therefore\;\mu\otimes 1=\delta,\;\mu^{-1}=1

结论2(反演定理):

  1. g(n)=dnf(d)g(n)=\sum_{d|n}f(d),则f(n)=dnμ(d)g(nd)f(n)=\sum_{d|n}\mu(d)g(\frac{n}{d})
  2. f(n)=dnμ(d)g(nd)f(n)=\sum_{d|n}\mu(d)g(\frac{n}{d}),则g(n)=dnf(d)g(n)=\sum_{d|n}f(d)

g=f1    f=gμg=f\otimes 1\iff f=g\otimes \mu

证明:

  1. RHS=μg=μ(1f)=(μ1)f=δf=f=LHS\mathrm{RHS}=\mu\otimes g=\mu\otimes(1\otimes f)=(\mu\otimes 1)\otimes f=\delta\otimes f=f=\mathrm{LHS}
  2. RHS=f1=(gμ)1=g(μ1)=gδ=g=LHS\mathrm{RHS}=f\otimes1=(g\otimes\mu)\otimes1=g\otimes(\mu\otimes1)=g\otimes\delta=g=\mathrm{LHS}

莫比乌斯反演例题

基本套路

莫比乌斯反演题目是有转换套路的,一般只会用上述结论1,少数情况才会用结论二

例:给定n,m,dn,m,d,求i=1nj=1m[gcd(i,j)=d]\sum_{i=1}^{n}\sum_{j=1}^{m}[\gcd(i,j)=d]
分析:
首先需要把[gcd(i,j)=d][\gcd(i,j)=d]化为我们熟悉的形式。我们有δ(n)=[n=1]\delta(n)=[n=1],那么考虑将[gcd(i,j)=d][\gcd(i,j)=d]化为[gcd(id,jd)=1][\gcd(\frac{i}{d},\frac{j}{d})=1],于是原式=i=1nj=1m[gcd(id,jd)=1]原式=\sum_{i=1}^{n}\sum_{j=1}^{m}[\gcd(\frac{i}{d},\frac{j}{d})=1],当且仅当i,ji,jdd的倍数时才会有意义。于是又转化为原式=x=1ndy=1md[gcd(x,y)=1]原式=\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=1}^{\lfloor\frac{m}{d}\rfloor}[\gcd(x,y)=1]
转化后就可以带入性质1μ1=δ\mu\otimes1=\delta)了,将后面的部分替换,可得到原式=x=1ndy=1mdzx,yμ(z)原式=\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=1}^{\lfloor\frac{m}{d}\rfloor}\sum_{z|x,y}\mu(z)(这里zz为前面gcd(x,y)\gcd(x,y)的值),接下来需要交换和号,即原式=z=1min(n,m)μ(z)x=pzndy=qzmd1原式=\sum_{z=1}^{\min(n,m)}\mu(z)\sum_{x=pz}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=qz}^{\lfloor\frac{m}{d}\rfloor}1,注意到后面x=pzndy=qzmd1\sum_{x=pz}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=qz}^{\lfloor\frac{m}{d}\rfloor}1是可以直接计算的,其等价于x,yx,y的所有取值数对中x,yx,y均为zz的倍数的数对个数,所以x=pzndy=qzmd1=ndzmdz\sum_{x=pz}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=qz}^{\lfloor\frac{m}{d}\rfloor}1=\lfloor\frac{n}{dz}\rfloor\cdot\lfloor\frac{m}{dz}\rfloor
我们已经得到了原式=z=1min(n,m)ndzmdz原式=\sum_{z=1}^{\min(n,m)}\lfloor\frac{n}{dz}\rfloor\cdot\lfloor\frac{m}{dz}\rfloor,莫比乌斯反演已经转化完了。接下来是计算过程,需要用到数论分块。zz的取值一定能分为很多块,使得每块中ndz\lfloor\frac{n}{dz}\rfloormdz\lfloor\frac{m}{dz}\rfloor都相同。这样的块一定不会超过n+m\sqrt{n}+\sqrt{m}个,对于每个块,我们直接用后面乘式的积乘块大小得到贡献,然后每次用左端点取值找右端点即可。复杂度O(n+m)O(\sqrt{n}+\sqrt{m})

总结上述基本套路:

  • 将和式的一部分转化为[x=1][x=1]的形式,并将dnμ(d)=[n=1]\sum_{d|n}\mu(d)=[n=1]带入
  • 将含μ\mu的部分提到前面,并重新确定枚举的约数条件(易错)
  • 观察μ\mu后面的部分,找方法将其计算出来(直接算或预处理)
  • 进行数论分块,对于每块用直接乘每个枚举量贡献或预处理前缀和求解

预处理积性函数

基本套路中,1,2,41,2,4条显然是很死板的,而33灵活一些。如果μ\mu后面的部分较为复杂,我们不能直接求值,那么如何计算呢?
积性函数:若数论函数ff满足对于所有gcd(a,b)=1\gcd(a,b)=1,均有f(a×b)=f(a)×f(b)f(a\times b)=f(a)\times f(b),则称作积性函数。
完全积性函数:若数论函数ff满足a,b,  f(a×b)=f(a)×f(b)\forall a,b,\;f(a\times b)=f(a)\times f(b),则称作完全积性函数。
我们将μ\mu后面的部分分为一个或多个积性函数,若为完全积性函数则更好。分gcd(a,b)\gcd(a,b)是否为11推导一下f(a×b)f(a\times b)的表达式,即可用线性筛线性预处理。
例:BZOJ2820 YY的GCD

积式中的莫比乌斯反演

有时,莫比乌斯反演会存在于积式中,作为底数或指数出现。
若为底数,则可以直接反演后计算,与和式中的方法类似。
若为指数,则会较为复杂。反演后将以莫比乌斯函数为指数的部分分离出来,想办法预处理其前缀积。
例:BZOJ4816【SDOI2017】数字表格


题目汇总

热身题

BZOJ1101【POI2007】Zap
BZOJ2190【SDOI2008】仪仗队
BZOJ2671 Calc

常规题

BZOJ2820 YY的GCD
BZOJ2154 Crash的数字表格
BZOJ2693 jzptab
BZOJ3309 DZY Loves Math
BZOJ4407 于神之怒加强版

进阶题

BZOJ3994【SDOI2015】约数个数和
CF235E Number Challenge
BZOJ4816【SDOI2017】数字表格
BZOJ4174 tty的求助