整除分块套杜教筛为什么是 O(n^2/3) 的
2024-10-17 02:02:37
假设我们要筛一个东西叫做 \(f\) .
记
\[D(n)=\left\{n,\left\lfloor\dfrac n2\right\rfloor,\left\lfloor\dfrac n3\right\rfloor,\left\lfloor\dfrac n4\right\rfloor,\cdots\right\}
\]
\]
那么我们知道杜教筛在计算 \(f(n)\) 时实际上是对 \(D(n)\) 中的所有数都计算了一遍 \(f(n)\) 并存入了缓存 .
然而我们整除分块的过程就是求 \(D(n)\) 里面这些东西,所以说实际上只筛了一次 \(f\),其他全部在查表 .
于是复杂度是 \(O(n^{2/3})\) .
Reference: https://mivik.blog.luogu.org/mivik-round-4-solution-dream
最新文章
- Android密码约束规则例子一
- mvc4 用NPOI导出Excel
- YTU 2989: 顺序表基本运算(线性表)
- sql server主动推送客户端更新数据
- 在Adobe Reader中保存PDF表单数据的方法
- GitHub与VS2013完成项目管理
- 只要关闭浏览器,session就消失了
- SICP 练习 1.3
- Django中ModelForm应用
- c#接口使用详解
- CSS3笔记之第三天
- mySQL的安装和基础使用及语法教程
- Node.js(day5)
- [Swift]LeetCode224. 基本计算器 | Basic Calculator
- Linux 查看系统状态
- js中break、continue和return的一般用法总结
- [UE4]在UI中获取玩家角色实例
- Android-Java静态代码块&;局部代码块
- 工厂模式——java设计模式
- c# SSH ,SFTP