【学习笔记】杜教筛
平均最小公倍数
n
≤
1
0
9
n\leq 10^9
n≤109 。
∑
i
=
1
n
∑
j
=
1
i
j
(
i
,
j
)
=
∑
i
=
1
n
∑
d
∣
i
∑
j
=
1
i
j
d
[
(
i
,
j
)
=
d
]
=
∑
i
=
1
n
∑
d
∣
i
∑
j
′
=
1
i
d
j
′
[
(
i
d
,
j
′
)
=
1
]
=
∑
i
=
1
n
∑
d
∣
i
∑
j
′
=
1
d
j
′
[
(
d
,
j
′
)
=
1
]
=
∑
i
=
1
n
∑
d
∣
i
ϕ
(
d
)
×
d
2
=
1
2
∑
i
=
1
n
(
ϕ
(
i
)
×
i
)
⌊
n
i
⌋
\sum_{i=1}^n\sum_{j=1}^i\frac{j}{(i,j)} \\ =\sum_{i=1}^n\sum_{d|i}\sum_{j=1}^i\frac{j}{d}[(i,j)=d] \\ =\sum_{i=1}^n\sum_{d|i}\sum_{j'=1}^{\frac{i}{d}}j'[(\frac{i}{d},j')=1] \\ =\sum_{i=1}^n\sum_{d|i}\sum_{j'=1}^dj'[(d,j')=1] \\ =\sum_{i=1}^n\sum_{d|i}\frac{\phi(d)\times d}{2} \\ =\frac{1}{2}\sum_{i=1}^n(\phi(i)\times i)\lfloor\frac{n}{i}\rfloor
i=1∑nj=1∑i(i,j)j=i=1∑nd∣i∑j=1∑idj[(i,j)=d]=i=1∑nd∣i∑j′=1∑dij′[(di,j′)=1]=i=1∑nd∣i∑j′=1∑dj′[(d,j′)=1]=i=1∑nd∣i∑2ϕ(d)×d=21i=1∑n(ϕ(i)×i)⌊in⌋
整除分块,对于 ∑ i = l r ( ϕ ( i ) × i ) \sum_{i=l}^r(\phi(i)\times i) ∑i=lr(ϕ(i)×i) ,因为 l , r ≤ 1 0 9 l,r\leq 10^9 l,r≤109 ,所以需要杜教筛。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17530189.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」