积性函数

积性函数

定义&性质

对于所有互质的a,b,满足f(ab)=f(a)f(b),则f为积性函数

对于所有的a,b,满足f(ab)=f(a)f(b),则f为完全积性函数

对于积性函数,有f(1)=1

常见积性函数

1、1(n)=1 恒等函数

2、Idk(n)=nk 幂函数

3、ε(n)=[n=1] 单位函数

4、σ(n) 约数和函数

5、d(n) 约数个数函数

6、φ(n) 欧拉函数

7、μ(n) 莫比乌斯函数

欧拉函数

数论

莫比乌斯函数

μ(n)={1,n=1(1)k,n=p1p2...pk0,otherwise

即每个质因数只出现最多1

性质

dnμ(d)=[n=1]

由简单组合和二项式定理可证

约数个数函数

对于n=p1a1p2a2...pkak,它的因数个数有:

d(n)=(1+a1)(1+a2)...(1+ak)

不难发现也具有积性函数的性质

约数个数函数的上界

网上找到是d(n)n1.066lnlnn,亲测能用

线性筛求积性函数

只需要分三类讨论即可(见数论

所有积性函数都可以对这三类数有具体处理方式

莫比乌斯反演

(接下来会用不是很数学的方法来解释)

对于积性函数f(x),g(x),有

f(n)=dng(d)g(n)=dnμ(d)f(nd)

简单证明:

dnμ(d)f(nd)=dnμ(d)k|ndg(k)=dnk|ndμ(d)g(k)

=kng(k)d|nkμ(d)=kng(k)[nk=1]

=g(n)

理解第二行的交换枚举量最关键

我们尝试先枚举k:当k[1,n]范围枚举时,nd的取值为[k,n],此时nd的范围很难简单表示,反向考虑,d[1,nk],则有:dnk|ndμ(d)g(k)=k|nd|nkμ(d)g(k),完成枚举量的交换

狄利克雷卷积

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

狄利克雷卷积是操作在积性函数上的二元函数,易知莫比乌斯反演是其子集

性质1:fg仍是一个积性函数(证明略)

性质2:任意两个积性函数都可以通过卷积得到另一个函数

常见卷积:

μ1=ε

φ1=Id

μId=φ

11=d

Id1=σ

练习

P2522 [HAOI2011]Problem b

    i=1nj=1m[gcd(i,j)=k]

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

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

=d=1min(nk,mk)μ(d)i=1nkj=1mk[di][dj]

=d=1min(nk,mk)μ(d)nkdmkd

数论分块即可

细节理解

1、nkdmkd 的值为O(n)级别

2、第四行中,[dgcd(i,j)]=[di][dj]

尝试自己证明

LCMSUM - LCM Sum

有好几种推法

    i=1nlcm(i,n)

=ni=1nigcd(i,n)

=ndni=1n[gcd(i,n)=d]id

=ndni=1nd[gcd(i,nd)=1]i

=ndni=1d[gcd(i,d)=1]i

方法1

很巧妙地利用了一个结论:

观察i=1d[gcd(i,d)=1]i,即为与d互质的数的和,考虑欧拉函数

结论:d>1时,i=1d[gcd(i,d)=1]i=φ(d)d2

引理:n>1时,φ(n)为偶数,且xnx成对出现(gcd(a,b)=gcd(a,ab)=1

i=1d[gcd(i,d)=1]iφ(d)2xdx的和,得证

利用此结论化简:

=ndnφ(d)d2

d=1统一进来:

=n2dnd(φ(d)+ε(d))

用埃筛即可跑出所有ans

方法2

暴力展开:

=ndni=1dkgcd(i,d)μ(k)i

=ndnkdμ(k)kidi

=ndnkdμ(k)ki=1dki

=ndnkdμ(k)kdk(dk+1)2

=n2dndkdμ(k)(dk+1)

=n2dndkdμ(k)(Id(dk)+1(dk))

=n2dnd(φ(d)+ε(d))

方法3

构造函数证积性线筛 link

最后一步也是埃筛

(感觉我在比赛中也构造不出来

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