莫比乌斯反演学习笔记

  莫比乌斯反演是数论数学中很重要的内容,可以用于解决很多组合数学的问题。第一次接触莫比乌斯反演时,还是在学长们的胡策题中听说的。当时的我一脸懵逼~

莫比乌斯函数(Important)

  人为定义莫比乌斯函数
这里写图片描述
莫比乌斯函数有着这样的几个性质:
对任意正整数n有

d|nμ(d)=[d==1]
d|nμ(d)d=ϕ(n)n

在这里我给出第一个性质的证明(我才不会说第二个我不会证明)
证明:
  很明显当d等于1时式子的结果是1。由于莫比乌斯函数那可爱的性质,我们只需要考虑那些每种质因子不超过1的因数对答案的贡献,所以我们可以化成这个式子:
   设n共有k种质因子。 得: d|nμ(d)=ki=0Cik(1)i
   通过牛顿二项式公式定理我们可以很明显地看出后面是等于 (1+(1))k ,结果等于0。证毕。

莫比乌斯的核心公式

  如果我们知道: f(n)=nd|ng(d)
  那么可以推出: g(n)=nd|nμ(nd)f(d)
  意义:题目往往要我们去求一个函数 f(x) 。时空复杂度无法承受,所以我们需要另设一个易求的 g(x) ,通过反演用 f(x) 来线性表示 g(x) ,最后通过线性筛的方法得出答案。
  证明:
  易得: g(n)=d|ng(d)x|ndμ(x)=x|nμ(x)d|nxg(d)=x|nμ(x)f(nx)
  得证。证明的关键便在于指标代换。   

莫比乌斯反演的公式变种

  莫比乌斯反演公式的变化有很多,在此我也只是收集几种,并不加以证明。
  

f(n)=d=1png(dn)g(n)=d=1pnf(dn)μ(d)

 
f(n)=n|d,dpg(d)g(n)=n|d,dpf(d)μ(dn)

 

莫比乌斯反演的真正用途

  你们也许会问了,莫比乌斯反演到底是用来干什么的?
  在题目中你可能会遇到一个函数的关系,需要是你求值,而直接暴力算的复杂度不能承受,那该怎么办呢?我们就需要根据题目定义另一个函数,然后找到关系进行反演,缩短时空复杂度,利用莫比乌斯函数最后可得到理想的答案。

应用一:

   g(i) 很难求,但是 d|ng(d) 易求,则可用下面的反演来计算 g(i)
  

f(i)=d|ng(d)g(i)=d|nf(nd)μ(d)
  

应用二:   

   g(i) 很难求,但是 nid=1g(di) 易求,则可用下面的反演来计算 g(i)
 

f(i)=d=1nig(di)g(i)=d=1nif(di)μ(d)

四大要点:

1.公式推导:用莫比乌斯反演推导出基本式子
2.等价变换:变量替换、内层外移等等技巧
3.线性筛法:强大的线性筛可以支持一系列的预处理
4.分块处理:归结到最后,用分块在 n 内处理  

与莫比乌斯相关的重要知识

狄利克雷卷积
  既然知道了莫比乌斯反演,那就不得不去学狄利克雷卷积。这两个一个是枪一个是弹,组合起来非常管用。当你真正精通莫比乌斯反演狄利克雷卷积时,别人需要反演1h的式子,你也许两行就反演完了,就是这么神奇。
杜教筛
  杜教筛是极其强大的筛法,用来计算一系列积性函数前缀和百试不爽。
除法优化
  从杜教筛中即可看出除法优化的强大。
  我会在稍后的博客中讲解这三个知识。

与莫比乌斯相关的一些优美的式子

ϕ(n)=d|nμ(d)nd
     
d|nϕ(d)=d|ndg|ndμ(d)=n

i=1nd|iμ(d)=1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值