zoukankan
html css js c++ java
莫比乌斯反演与积性函数求和筛法中的一些细节
枚举除法:
1.
(leftlfloorfrac{n}{i} ight floor)
只有
(Oleft(sqrt{n} ight))
种取值。
2.对于
(i)
,
(leftlfloorfrac{n}{leftlfloorfrac{n}{i} ight floor} ight floor)
是与
(i)
被
(n)
除并下取整取值相同的一段区间的右端点。
3.一个很有用的性质:
(leftlfloorfrac{n}{ab} ight floor=leftlfloorfrac{leftlfloorfrac{n}{a} ight floor}{b} ight floor=leftlfloorfrac{leftlfloorfrac{n}{b} ight floor}{a} ight floor)
应用:
求
(mu)
(莫比乌斯函数)的前缀和:
(S(n) = 1 - sum_{i=2}^n S(lfloor frac{n}{i} floor))
。
求
(varphi)
(欧拉函数)的前缀和:
(S(n) = frac{n(n+1)}{2} - sum_{i=2}^n S(lfloor frac{n}{i} floor))
。
还有求各种积性函数的前缀和....
求这些积性函数的前缀和都可以使用杜教筛和洲阁筛。前者
(O(n^{2/3}))
和后者
(O(frac{n^{3/4}}{logn}))
,一般情况下,洲阁筛的常数和复杂度都更加优秀。但现在好像有种比洲阁筛更优秀一点的筛法。(
https://post.icpc-camp.org/d/782-spoj-divcnt3/2
)(可能要科学上网...)
在这类问题中我们一般可以用线性筛预处理前
(O(n^{2/3}))
左右可以使复杂度更优秀一些,一般会使用记忆化搜索和哈希表,map也可以代替哈希表。
查看全文
相关阅读:
JSR 303
Spring JSR-250注解
java 内部类
爬虫
多线程异步编程示例和实践-Task
多线程异步编程示例和实践-Thread和ThreadPool
线程机制、CLR线程池以及应用程序域
二维码的生成与识别
Unicode 和 UTF-8 有何区别?
json转换为自定义类型的集合
原文地址:https://www.cnblogs.com/LzyRapx/p/8463509.html
最新文章
J-4 Java语言基础
markdown11种基本语法
J-3 Java语言基础
J-2 Java语言基础
Tool-1 notepad++的配置
J-1 Java概述
visio UML用例里面找不到include关系
LancherTest,使用ViewSwitcher
AdapterViewFlipper的使用
SimpleAdapter的使用
热门文章
简单的图片浏览器
Android简单注册表单
[MySQL5.6 新特性] 全局事务标示符(GTID)
nginx 服务器重启命令,关闭
tomcat war部署根目录下
Apache Tomcat 7 安装与配置
Zookeeper启动过程
Zookeeper基本配置
Zookeeper安装指南
Elasticsearch查询
Copyright © 2011-2022 走看看