杜教筛学习笔记

杜教筛是拿来求积性函数前缀和的东西

h=fg
s(n)=i=1ng(i)
而杜教筛可以在 O(n23) 的复杂度内求出 s(n),前提是存在两个很好求前缀和的函数 fh 满足 h=fg
i=1nh(i)i=1nj|if(j)g(ij)
=i=1nf(i)j=1ndg(j)
=i=1nf(i)s(ni)
i=1nh(i)=i=1nf(i)s(ni)
i=1nh(i)=i=2nf(i)s(ni)+s(n)f(1)
i=1nh(i)i=2nf(i)s(ni)=s(n)f(1)

到这里就可以用整除分块求了,这样解出复杂度 O(n34)

但是可以用欧拉筛预处理在 O(n23) 以内的前缀和,复杂度降到 O(n23)



常用函数
ϕI=id
μI=e

posted @   灰鲭鲨  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示