一.莫比乌斯函数
特点是,分解的素因子中有平方因子则为0,否则素因子个数奇偶性决定正负1。线性筛大全,含莫比乌斯
二.莫比乌斯反演公式
用的最多是第二条性质:
已知,
可得
①注意反演的意义:个人拙见是类似反函数把Y=F(x)写成X=F(y)的形式,因为有时F(Y)比F(X)更容易求。
为啥引入莫比乌斯函数:实际上消去同类项,比如f(2)出现3次,必然要两项为﹢,一项为-;如果出现两次,有一项为0一项为+
具体见 用容斥实例理解莫比乌斯反演过程
②注意公式符号的意义,n|d代表d是n的倍数(n是d的因子),实际上求的是n的所有倍数和
这里被符号绕晕了一天(还是太菜了)
三.反演实例
①列出与GCD有关的莫比乌斯反演,都是套路!
设为gcd(i,j)=d的个数,形式:
为gcd(i,j)=d的倍数的个数,
如F(2)=f(2*1)+f(2*2)+f(2*3)+... F(n)=f(d)+f(2d)+...
这样就满足反演前提:
②反演得到:(其实这步才刚开始,重点是后面的化简...)
③列出ANS=xxx,用f(a)代入 ,a为所求量 (注意符号的意义、范围,别被绕晕)
这题得到(设p是d的质因子,即题目要求的量)
④化简,最难的一步,为了缩小范围,降低复杂度(推荐多看大佬过程,这里就引用大佬的化简过程 ,还有gcd化简全总结)
注意符号的意义范围
a.F(d)显然可以直接求得
b.令 , d是1~ min(n,m) ,则i范围为1~ (一般想求x|y之类的范围,我喜欢令y=kx之类,好理解)
c.如果这里停手的话,复杂度仍不满足需要,因为每次分块要枚举质数p(详见bzoj2301/hdu1695 求gcd=k代码),需要令,t=p,继续化简,这样分块的时候不用枚举p
由和式的性质,因为t是T的因数才会有贡献,所以可以提出来
⑤可以预处理 线性筛大全,含莫比乌斯
⑥后两项可以除法分块,记录前缀和即可,见链接
四.莫比乌斯反演性质
①
②