杜教筛&套路总结
杜教筛
(g*f)(i)&=\sum_{d|i}g(d)f(\frac id)\\
\Rightarrow g(1)S(n)&=\sum_{i=1}^n(g*f)(i)-\sum_{i=2}^ng(i)S(\frac ni)
\end{split}
\]
其中,\(S(x)\)为\(f()\)的前缀和。
套路一:\(\mu\)
由\((1*\mu)=e\),取\(g(x)=1\)。
S(n)=1-\sum_{i=2}^nS(\frac ni)
\end{split}
\]
可以用线性筛预处理一部分\(\mu\)的前缀和,剩下的用杜教筛记忆化搜索即可。
int Smu(int x){
if(x<=M)return mu[x];
if(smu[x])return smu[x];
int ret=1;
for(int l=2,r=0;r!=x;l=r+1){
r=x/(x/l);
ret-=1ll*(r-l+1)*Smu(x/l);
}
return smu[x]=ret;
}
例题
套路2:\(\varphi\)
由\((1*\varphi)=Id\),取\(g(x)=1\)。
\]
LL Sphi(int x){
if(x<=M)return phi[x];
if(sphi[x])return sphi[x];
LL ret=1ll*x*(1ll*x+1)/2;
for(int l=2,r=0;r!=x;l=r+1){
r=x/(x/l);
ret-=1ll*(r-l+1)*Sphi(x/l);
}
return sphi[x]=ret;
}
例题
其他题目:
杜教筛&套路总结的更多相关文章
- 我也不知道什么是"莫比乌斯反演"和"杜教筛"
我也不知道什么是"莫比乌斯反演"和"杜教筛" Part0 最近一直在搞这些东西 做了将近超过20道题目吧 也算是有感而发 写点东西记录一下自己的感受 如果您真的 ...
- 【Luogu3768】简单的数学题(莫比乌斯反演,杜教筛)
[Luogu3768]简单的数学题(莫比乌斯反演,杜教筛) 题面 洛谷 \[求\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\] $ n<=10^9$ 题解 很明显的把\( ...
- 杜教筛:Bzoj3944: sum
题意 求\(\sum_{i=1}^{n}\varphi(i)和\sum_{i=1}^{n}\mu(i)\) \(n <= 2^{31}-1\) 不会做啊... 只会线性筛,显然不能线性筛 这个时 ...
- 51NOD 1237 最大公约数之和 V3 [杜教筛]
1237 最大公约数之和 V3 题意:求\(\sum_{i=1}^n\sum_{j=1}^n(i,j)\) 令\(A(n)=\sum_{i=1}^n(n,i) = \sum_{d\mid n}d \c ...
- hihocoder #1456 : Rikka with Lattice(杜教筛)
hihocoder #1456 : Rikka with Lattice(杜教筛) 题意 : 给你一个\(n*m\)方格图,统计上面有多少个格点三角形,除了三个顶点,不覆盖其他的格点(包括边和内部). ...
- 【BZOJ4805】欧拉函数求和(杜教筛)
[BZOJ4805]欧拉函数求和(杜教筛) 题面 BZOJ 题解 好久没写过了 正好看见了顺手切一下 令\[S(n)=\sum_{i=1}^n\varphi(i)\] 设存在的某个积性函数\(g(x) ...
- 【BZOJ4916】神犇和蒟蒻(杜教筛)
[BZOJ4916]神犇和蒟蒻(杜教筛) 题面 BZOJ 求 \[\sum_{i=1}^n\mu(i^2)\ \ 和\ \sum_{i=1}^n\phi(i^2)\] 其中\[n<=10^9\] ...
- BZOJ4916: 神犇和蒟蒻(杜教筛)
题意 求 $$\sum_{i = 1}^n \mu(i^2)$$ $$\sum_{i = 1}^n \phi(i^2)$$ $n \leqslant 10^9$ Sol zz的我看第一问看了10min ...
- BZOJ4652 NOI2016循环之美(莫比乌斯反演+杜教筛)
因为要求数值不同,不妨设gcd(x,y)=1.由提示可以知道,x/y是纯循环小数的充要条件是x·klen=x(mod y).因为x和y互质,两边同除x,得klen=1(mod y).那么当且仅当k和y ...
随机推荐
- LightOJ-1253-Misere Nim-nim博弈
Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, eac ...
- 剑指offer——26树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 题解: 注意,所谓的子结构,是树的形状和值相同,并非判断B是不是A的一部分[如果是这样,那就是 ...
- vue sChart组件使用页面一片空白问题及示例
参考:https://www.ctolib.com/mip/lin-xin-vue-schart.html 在网上其他示例里,我试验后发现:渲染到<canvas id="myChart ...
- webservice - 使用JAX-WS注解的方式快速搭建服务端和客户端
1.Define the interface import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebRe ...
- BBS论坛 项目表分析
一.项目表分析 from django.db import models from django.contrib.auth.models import AbstractUser # Create yo ...
- YARN体系结构
- robotframework冷门关键字
1.Reload Page 模拟页面重载 2.Register Keyword To Run On Failure 参数: Keyword 描述: 当Selenium2Library类库关键字执行失败 ...
- javascript 的学习笔记(第一天)
1.==与=== == 先转换类型,再比较 === 直接比较 2.parseInt 把字符串转成整数 parsefloat 把字符串转成小数 3. 变量的作用域:变量起作用的范围 局部变量: ...
- 去哪儿的 源码 个人解析(2) router
1.引进路由 import Vue from 'vue' 2.使用路由 Vue.use(Router) 3.路由注册 export default new Router({ routes: [{ ...
- Monkey 稳定性测试
学习网址: https://blog.csdn.net/lucytan01/article/details/79958727 https://blog.csdn.net/hebbely/article ...