莫比乌斯反演学习笔记

莫比乌斯反演

反演公式&性质

f(n)=d|ng(d)g(n)=d|nμ(d)f(nd)

感觉我不太会用上面那个

我只会用莫比乌斯函数的性质

d|nμ(d)={1n=10n1d|nμ(d)=(n==1)

然后特殊的

d|gcd(a,b)μ(d)=(gcd(a,b)==1)

例题

然后直接上例题

[HAOI2011]Problem b

化简题意求i=1nj=1m(gcd(i,j)==k),要求n求出

i=1nkj=1mk(gcd(i,j)==1)

直接套上面的性质:

=i=1nkj=1mkd|gcd(a,b)μ(d)

然后设i=di,j=dj(d=gcd(i,j))

=d=1nkμ(d)i=1nkdj=1mkd1

=d=1nkμ(d)nkdmkd

然后熟悉的式子,可以数论分块

所以记住一条式子方便推:

i=1nj=1m(gcd(i,j)==1)=d=1nμ(d)ndmd

YY的GCD

i=1nj=1m(gcd(i,j)P),P指素数集,要求n求出

pPi=1nj=1m(gcd(i,j)==p)

=pPi=1npj=1mp(gcd(i,j)==1)

=pPd=1npμ(d)npdmpd

令T=pd

=T=1nnTmTp|T,pPμ(Tp)

p|T,pPμ(Tp)用线性筛处理,然后还是数论分块

于神之怒加强版

i=1nj=1mgcd(i,j)k,要求n求出

x=1ni=1nj=1m(gcd(i,j)==x)xk

=x=1nd=1nxμ(d)ndxmdxxk

令T=dx

=T=1nnTmTd|Tμ(Td)xk

d|Tμ(Td)xk用线性筛处理,然后还是数论分块

Crash的数字表格/JZPTAB

i=1nj=1mlcm(i,j),要求O(n)求出

i=1nj=1mijgcd(i,j)

=k=1ni=1nj=1m(gcd(i,j)==k)ijk

然后设i=di,j=dj(d=gcd(i,j))

=k=1ni=1nkj=1mk(gcd(i,j)==1)ijk

化简得

=k=1nkd=1nkμ(d)d2i=1nkdj=1mkdij

g(n,m)=sumi=1nj=1mij然后注意到

g(n,m)=i=1nj=1mij=(n+1)n2·(m+1)m2

原式=

k=1nkd=1nkμ(d)d2g(nkd,mkd)

维护f(k)=d=1nkμ(d)d2g(nkd,mkd)即可

[SDOI2014]数表

i=1nj=1mg(gcd(i,j))

x=Πpiki,g(x)=Π(ki+1)即表示x的因数个数

=x=1ni=1nj=1m(gcd(i,j)==x)g(x)

=x=1ng(x)i=1nxj=1mx(gcd(i,j)==1)

=x=1ng(x)d=1nxμ(d)nxdmxd

设T=xd

=T=1nnTmTd|Tμ(d)g(Td)

然后就是预处理d|Tμ(d)g(Td)

[SDOI2015]约数个数和

i=1nj=1mg(ij)

x=Πpiki,g(x)=Π(ki+1)即表示x的因数个数

首先要知道一个式子:d(ij)=xiyj[gcd(x,y)=1]

posted @   zhy_learn  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示