莫比乌斯反演

前置知识:积性函数。

定义:

一个函数 f,若 gcd(a,b)=1,都有 f(a)×f(b)=f(a×b),则它是积性函数。

一个函数 f,若 (a,b),都有 f(a)×f(b)=f(a×b),则它是完全积性函数。

正题

狄利克雷卷积

先放一张图方便下文理解(copy zyf):

image

接下来给出狄利克雷卷积的定义:

对于两个函数 fg,它们的狄利克雷卷积 fg 为:

(fg)(n)=d|nf(d)×g(nd)

关于狄利克雷卷积的一些性质:

f 为积性函数,则:

h(x)=f(xp) 为积性函数。

h(x)=f(x)g(x) 为积性函数。

h(x)=(fg)(x) 为积性函数。

证明我也不会,背就完了。

接下来通过狄利克雷卷积把上图函数结合起来:(f 为任意积性函数)

id1=σ

φ1=id

ϵf=f

插入:
容易发现 ϵ 为单位元卷积函数,因此可以给出两个函数 fg 在狄利克雷卷积中互逆的定义为 fg=ϵ

1μ=ϵ

从这里容易发现 1μ 互逆,所以容易得出一个式子 f1=gf=g1

同时这实际上就是莫比乌斯反演的一种形式。喵~

莫比乌斯反演

一般形式:

f(n)=d|ng(d)

g(n)=d|nf(d)μnd

也就是 f=g1   g=fμ

先给一道例题:

i=1nj=1nijgcd(i,j)modp

其中 p 为质数。

解:原式
= d=1ndi=1nj=1nij[gcd(i,j)=d]
= d=1nd3i=1ndj=1ndij[gcd(i,j)=1]
= d=1nd3i=1ndj=1ndijt|gcd(i,j)μ(t)
= d=1nd3t=1ndμ(t)t2i=1ntdj=1ntdij
T=td,则原式:
= T=1nT2(i=1nTi)2d|tμTdd
= T=1nT2φ(T)(i=1nTi)2
对于:
(i=1nTi)2
如果设 S=nT,则由小公式可以得到该式子等价于
S2(S+1)24
然后就可以过掉了。

而对于:
T=1nT2φ(T)
我们先设一个函数 f=T2φ(T)g=T2=id2(T),那么根据狄利克雷卷积可以得到:
(fg)(n)= d|n(φ(d)id2(d))(nd)2
= d|n(φ(d)d2)(nd)2
= d2d|nφ(d)
= n3
把这个作为一个结论。

然后我们开始对原式变形:
h 表示原函数式,那么可以得到递推式:
h(n)= i=1n(fg)(i)i=2ng(i)h(ni)g(1)
根据刚才得到的结论可以得到:
h(n)= i=1ni3i=1ng(i)h(ni)g(1)
= n2(n+1)24n(n+1)(2n+1)6h(ni)g(1)
然后推导部分就做完了,后面的杜教筛之类的算法就不提了。

莫反在OI中主要是把在规定时间内无法求解的问题转化为可以求解的(但好像考的不多),总之好好学。

最后放一个链接,里面是莫比乌斯反演的常见变形,大家入门以后可以去看看。

posted @   Redamancy_Lydic  阅读(28)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示