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也可以代替哈希表。
查看全文
相关阅读:
PHP中的trait
Laravel中的队列
微信小程序开发常见问题
python学习day1
javaScript实现栈的创建,添加元素,检查栈是否为空,删除元素,查看栈顶元素,清空栈元素,toString方法,通过栈实现多种进制转换
join&concat&splice&slice&indexOf&lastindexOf&charCodeAt&fromCharCode
使用函数自动创建表格
两种方式实现随机颜色
多选全选框使用addEvenListener实现
使用setInterval来控制正方形的移动的频率(每隔1秒),鼠标点击停止移动,当再次点击恢复移动
原文地址:https://www.cnblogs.com/LzyRapx/p/8463509.html
最新文章
vue 本地调试接口跨域问题解决
vue打包方式
git命令常用
windows mysql 安装
代理模式(动态代理)
代理模式(静态代理)
工厂模式
JVM回收机制
springboot整合mybatis
springboot运行原理
热门文章
springboot简介及入门案例
Spring注解总结
SSM拦截器
把镜像上传到docker hub
使用Dockerfile制作镜像
使用docker搭建mysql服务
docker的重要概念和常用命令
docker的介绍和安装
Vagrant+virtualBox
Mysql导入sql文件可能出现的问题
Copyright © 2011-2022 走看看