我们首先从这个函数出发:(mu(n)),它被称作莫比乌斯函数
它的定义式是这样的
即:在对(n)进行质因子分解之后,所有质因子的幂次都不大于1的话,(mu(n)=(-1)^r),r为n互不相同的质因子的个数。若n有某一个质因子的幂次大于1的话,(mu(n)=0)
关于(mu(n))函数有许多有趣的性质
1、(sum_{d|n}mu(d)=0(d>1))
证明:令(n=p_1^{a_1}p_2^{a_2}ldots p_r^{a_r},p_1,p_2,ldots p_rin prime),考虑数(m=p_1p_2ldots p_r,p_1,p_2,ldots p_rin prime)
则(sum_{d|n}mu(d)=sum_{d|m}mu(d)=sum_{i=0}^{r}C_r^i(-1)^r1^{i-r}=(1-1)^r=0)
命题得证
2、(frac{varphi(n)}{n}=sum_{d|n}frac{mu(d)}{d})
为了证明这个和下面的反演,我们引入一个新概念——狄利克雷卷积
我们说:数论函数指定义域为正整数、值域为复数的函数,比如上文中我们提到的(mu(n),varphi(n))
同时我们再定义几个比较常见的数论函数
(e(n)),元函数,(e(n)=[n=1])([]中带的是一个逻辑判别式,如果满足的话值为1,否则值为0)
(I(n)),恒等函数,(I(n)=1)
(id(n)),单位函数,(id(n)=n)
然后就是狄利克雷卷积的定义了
对于两个数论函数(f(n))和(g(n)),定义它们的卷积((f*g)(n)=sum_{d|n}f(n)g(frac{n}{d})),一般等式左边的((n))可以不写
容易证明,卷积运算满足交换律,结合律和分配律
我们从卷积的角度,再回过头去看这两条性质
第一条性质可以被表述成(mu*I=e),这是下面证明的关键
第二条性质:
我们在两边同时乘上n,得到(varphi(n)=sum_{d|n}mu(d)frac{n}{d})
我们知道(varphi(n))满足(sum_{d|n}varphi(d)=n)
我们把它写成卷积的形式:(varphi *I=id)
在两边同时乘上(mu),得到(varphi *I *mu=id *mu)
把(I*mu)约去,得到(varphi=id*mu),就是我们一开始写出来的式子
因此命题得证
我们再看到莫比乌斯反演,它一般有两种写法
1、如果两个数论函数(f(n),F(n))满足
那么
2、如果两个数论函数(f(n),F(n))满足
那么
我们从纯数学的角度来证明一下这两个式子
1、
由(mu(d))的第一个性质我们知道,当(frac{n}{i}=1)即(n=i)时,(sum_{d|frac{n}{i}}mu(d))的值为1,其他时候这个式子的值均为0
因此
2、
剩下的就和1的证明大体类似了
在这里再提供一种更为简洁的证明思路——利用卷积
在这里以1的证明为一个例子
对于(F(n)=sum_{d|n}f(d)),我们可以把它写成卷积的形式:(F=f*I)
在两边同时乘上(mu),得到(F*mu=f*I*mu)
约去(I*mu),即(f=F*mu)
证完了QAQ
看了这么多,你肯定会问了:这玩意有什么用?
实际上,在一些题目中,出题人会让你求某一个函数的值,我们会发现直接求它的值不好求,而求它的因数函数值之和或倍数函数值之和会更加方便,于是我们就要用到反演了
然而更多的时候我们要求的函数值与反演看起来八竿子打不着,这就需要我们通过构造函数来达到简化计算了
由于涉及到莫比乌斯反演的题目对时间复杂度的要求较高,一般不会要你在(O(n))的时间内求解,所以为了加速,我们还需要掌握一个知识——整除分块,可以直接看我写的某一道题目的题解
例题由于zzr太懒所以并没有,留着以后填坑