数论分块(二)
上部分链接:数论分块(一)
建议没看过数论分块(一)的优先去看第一部分,第二部分题目难度较高。
P1829 [国家集训队] Crash的数字表格 / JZPTAB
给定
- 对于
的数据,保证100% 。1≤n,m≤107
将式子变形:
令
记
那么我们可以通过线性筛筛出
后面一坨做数论分块,总体时间复杂度
PS: 本题还有杜教筛的做法,可以做到时间复杂度
参考代码
P3327 [SDOI2015] 约数个数和
设
对于
设
可以发现,如果
又有
考虑莫比乌斯反演
设
预处理一下
参考代码
P4466 [国家集训队] 和与积
考虑
因此我们的目标是对这样的
合法的
可以发现
后面可以数论分块,对复杂度积分(舍去常数)有:
因此复杂度的上界为
加了一些剪枝,398ms 的最优解。
参考代码
P5572 [CmdOI2019] 简单的数论题
给出
对于所有测试点,
先看看这个式子的真面目。
直到这里,步骤和上一题几乎完全一致,我们考虑用
观察式子后两坨满足
记
如果我们暴力计算式子,则对于每次询问我们的复杂度是
设置阈值
参考代码
P4240 毒瘤之神的考验
对于
对于
一如既往的化式子:
记
这和上一个题也是类似的,记
记
考虑根号分治,设阈值为
参考代码
我们发现其实不用每次都去枚举质因数,存储进一个系数数组即可,这样时间复杂度少一个
__EOF__

本文链接:https://www.cnblogs.com/YipChipqwq/p/-/shu-lun-fen-kuai2.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效