jzoj5663 [GDOI2018Day1模拟4.17]呼吸决定

本文介绍了一道数学问题的解决方法,即利用杜教筛算法求解特定的积性函数前缀和。通过将问题转化为积性函数的形式,并运用杜教筛算法进行递推求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description


这次的题意出奇短

i=1nμ(i)im∑i=1nμ(i)im

已知1n1091≤n≤1091m2×1051≤m≤2×105,答案模998244353998244353

Solution


这次真的不是偷懒而是题目真的短
这大概是我第一篇纯口胡博客,总是码码码就没时间惹
比较想吐槽其他三题的题目都是成语但是这题是啥玩意

我们令f(x)=μ(i)imf(x)=μ(i)imS(n)=ni=1f(i)S(n)=∑i=1nf(i),我们知道μ(i)μ(i)imim都是积性函数,辣么f(x)f(x)也是积性函数。现在我们要求一个积性函数的前缀和S(n)S(n)

回想一下杜教筛的推导过程,令g(x)=xmg(x)=xm,有

i=1nd|if(d)g(id)=1∑i=1n∑d|if(d)g(id)=1

1=i=1nd|iμ(d)×dm×(id)m=i=1nd|iμ(id)(id)m×dm1=∑i=1n∑d|iμ(d)×dm×(id)m=∑i=1n∑d|iμ(id)(id)m×dm

1=d=1ndmi=1ndμ(i)im=d=1ndmS(nd)1=∑d=1ndm∑i=1⌊nd⌋μ(i)im=∑d=1ndmS(⌊nd⌋)

S(n)=1d=2ndmS(nd)S(n)=1−∑d=2ndmS(⌊nd⌋)

这样搞一搞自然数幂和搞一搞hash标记就能杜教筛递推惹,这样大概有90分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值