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也可以代替哈希表。
查看全文
相关阅读:
通过scp拷贝文件时无需交互输入密码
suse linux安装lrzsz
shc加密shell脚本
linux小程序--cmatrix
linux系统PXE+Kickstart自动安装系统
升级SSH
shell生成随机数的几种方法
django —— MVT模型
Django学习---笔记一
python学习--Django虚拟环境搭建
原文地址:https://www.cnblogs.com/LzyRapx/p/8463509.html
最新文章
CentOS中vsftp安装与配置
nginx添加未编译安装模块
Nginx 安装编译配置
PHP安装编译配置参考
php源码编译常见错误解决方案
js jquery 判断函数是否存在($.isFunction函数的使用)
node.js 学习书籍推荐
前段概述
并发编程之线程
并发编程之进程
热门文章
网络编程
网络编程介绍
单例模式
元类
异常处理
isinstance与issubclass
绑定方法
redis安装--单机
Python3 函数
Python3 复制和深浅copy
Copyright © 2011-2022 走看看