杜教筛

根据狄什么卷积,对于数论函数 f,g

(fg)(n)=d|ng(n)f(nd)

进一步地,有

i=1n(fg)(i)=i=1nd|ig(d)f(id)

=d=1ng(d)i=1n/df(i)

=d=1ng(d)S(nd)

这个东西能干啥呢就是说如果现在想求 i=1nf(i),可以构造一个 g,一般就是 g=I,g=id 这样的。根据上面的式子

g(1)S(n)=i=1ng(i)S(ni)i=2ng(i)S(ni)

=i=1n(fg)(i)i=2ng(i)S(ni)

那现在,如果 g(1),i=1n(fg)(i),i=2ng(i)S(ni) 都可以用一个比较优秀的时间复杂度求出来,S(n) 也就可以比较优秀时间复杂度地求出来。

比如说求 i=1nμ(i),构造一个 f(i)=μ(i),g(i)=I

由狄卷定义和莫函数性质有

i=1n(fg)(i)=i=1nd|iμ(d)=1

而后面的部分就是

i=2nS(ni)

可以加一个记忆化然后数论分块。杜教筛筛值的时间复杂度一般是 O(n34),把记忆化的可以 O(n0) 预处理的部分(比如线性筛)的 n0 给成n23 可以实现 O(n23)。我不会证。

再比如说求 i=1nϕ(i),可以根据 ϕI=id 构造

S(n)=n(n+1)/2i=2nS(ni)

选数

就是说设 f(x) 为答案,F(x) 为gcd为 x 的倍数的方案,就有

F(x)=x|df(d)=(HxL1x)n

莫反一下

f(x)=x|dμ(dx)F(d)

然后发现给 F() 带进去没法整除分块因为定义域不连续非常蛋疼,于是给变量全除以 x,答案等价于求 f(1)

f(1)=d=1H/xμ(d)(HdxL1dx)n

前半部分杜教筛,后半部分数论分块。

神犇和韶身

想一下可以发现 A=1,B=i=1niϕ(i)

看一下 B 能构造什么 g 来求,试一下 g=id 就有

(fg)(n)=d|ng(d)f(nd)=d|ndndϕ(nd)=d|nnϕ(d)=n2

所以

g(1)S(n)=i=1ng(i)S(ni)i=2ng(i)S(ni)

=i=1ni2i=2niS(ni)

前半公式,后半数论分块。

dzy love math IV

很蛋疼啊这个,但是发现 n105,考虑枚举 n,设 S(n,m)=i=1mϕ(ni)

原题等价于求 i=1nS(i,m)

然后就有

i=1mϕ(ni)=yi=1mϕ(x)phi(i)

这里设 n=piai,x=pi,y=n/x

然后

=yi=1mϕ(xgcd(x,i))ϕ(i)gcd(x,i)

=yi=1mϕ(xgcd(x,i))ϕ(i)d|gcd(x,i)ϕ(d)

=yi=1mϕ(i)d|gcd(x,i)ϕ(xd)

=yd|xϕ(xd)d|imϕ(i)

=yd|xϕ(xd)i=1m/dϕ(di)

=yd|xϕ(xd)S(d,md)

然后线性筛预处理 x。枚举 d 然后杜教筛。

posted @   Cl41Mi5deeD  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示