博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
莫比乌斯反演学习笔记
阅读量:5118 次
发布时间:2019-06-13

本文共 1409 字,大约阅读时间需要 4 分钟。

其实这些东西早在9月就学了,然而那时理解还不是很清楚。今天上课正式讲到,就来把这个坑填上,主要是复习不熟悉的东西了。

 

首先先明确几个数论函数:

欧拉函数(φ):φ(n)表示1~n中与n互质的数的个数

莫比乌斯函数(μ):μ(1)=1,若n(n>1)含有多重质因数,则μ(n)=0,否则 μ(n)=(-1)r,r表示n的质因数个数

常函数(1):∀n∈N,1(n)=1

单位函数(id):∀n∈N,id(n)=n

幂函数(idk):∀n∈N,idk(n)=nk

狄利克雷卷积单位函数(ε):ε(1)=1,∀n>1,ε(n)=0

元函数(e):这是一个由命题映射到N的特殊函数,e[P]=1当且仅当P为真,否则e[P]=0

除数函数(σ):一类函数,每个非负整数x都对应一个除数函数σx,σx(n)表示 n的因数的x次方之和

 

还有一个定义:

狄利克雷卷积函数:(fxg)(n) = sigma(d|n)f(d)g(n/d)。

 

这些是基本的前置技能了,如果不明白,请反复阅读直到理解为止。

 

然后我们有4个关于以上函数的结论:

φ x 1 = id,证明:若n为质数,则id。其他情况用积性函数证明。

μ x id = φ,这个以后能够证明。

μ x 1 = ε,证明:考虑每个质数选几个,用二项式定理确定系数,带进去后发现和为0。

ε × 1 = 1,证明:每个数为1的因数只有1,显然。

注意这里的x都表示求狄利克雷卷积。

 

通过以上的结论(μ x 1 = 1,ε × 1 = 1),我们猜想对于一般的积性函数(f(x),g(x)),是否存在:f × 1 = g↔μ × g = f

这个是正确的,证明如下:

考虑从左到右:

考虑从右到左:

至此莫比乌斯反演基本定理得证。

 

根据以上的证明我们可以总结出一些小技巧:

  1. 四个卷积结论:φ×1=id、μ×id=φ、μ×1=ε、ε×1=1(需要注意的是,更多的时候是从右到左的应用)
  2. 分块的前提结论:∀n,d∈N,n/d向下取整至多有√n种取值
  3. gcd与lcm相关:gcd(a,b)*a*b=lcm(a,b),d|gcd(a,b)→d|a且d|b
  4. 交换求和号的方法技巧,以及常见的求和号交换法
  5. 对于多次询问的题目,预处理积性函数的值与前缀和

具体的用法还得在题目中说明。

 

当然了,如果面对多次询问φ(n)与μ(n)的值与前缀和可以预处理出来,而N/d向下取整M/d向下取整分别最多有和种取值,所以说我们只用枚举这两部分的取值,中间整块的部分用前缀和相减即得积性函数的和。

时间复杂度:O(min(N,M)+T(+)),其中T表示数据组数。

代码实现:

1 int t = min(n, m), ans = 0;2 for (int i = 1, j = 1; i <= t; i = j + 1) {3     j = min(n / ( n / i), m / (m / i));4     ans += (summu[j] - summu[i - 1]) * (n / i) * (m / j);5 }

 

然后就是具体的题目了,不想多写了,插入公式实在太费劲了QAQ。(留坑以后再说!)

说白了就是本蒟蒻太弱了不会用LaTeX,被迫用Word2016做了半天公式后心态爆炸了……

转载于:https://www.cnblogs.com/Cmd2001/p/8053477.html

你可能感兴趣的文章
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
python常用函数
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>