[url=https://miao.su/image/iKkxA][img]https://miao.su/images/2019/08/12/76d87bf.jpg[/img][/url]也许更好的阅读体验文章目录作用与使用前提求法举例$\mu$$\varphi$作用与使用前提对一个
原创
2021-12-27 15:10:10
102阅读
神仙的算法 我们如果要求 $$\sum_{i=1}^N\mu(i)$$ 应该怎么办 线筛显然是最常规的操作了,但是复杂度是$O(N)$的,如果大一点就挂了 这个时候就需要杜教筛这种神奇的东西了,可以在非线性时间内求积性函数的前缀和 比如说我们要求的是$f$吧 我们设一个函数$g$,同时还有$h=f\
转载
2019-01-01 19:36:00
78阅读
2评论
…因为网页崩溃导致要重写一遍…… 首先看一道板子题:bzoj 3
转载
2018-01-23 16:02:00
74阅读
2评论
做题发现普通的线性筛法已经解决不了问题了,如n给到1e9 1e10 此时还有20~40分就拿不到了。 但是我们发现要求出来的某个积性函数的前缀和的个数是有限的 只要我们能快速求出某个单点处的前缀和即可. 如我们要求$\sum_{i}^{n}{f(i)}$ 我们只需求出在点n处的值即可所以我们只要在非
转载
2020-02-09 09:57:00
109阅读
2评论
转载自https://oi-wiki.org/math/du/ 在莫比乌斯反演的题目中,往往要求出一些数论函数的前缀和,利用 杜教筛 可以快速求出这些前缀和。 杜教筛 求 $\displaystyle S(n)=\sum_{i=1}^n f(i)$ 我们要想办法构造一个 $S(n)$ 关于 $S(\
转载
2019-10-17 12:40:00
109阅读
2评论
Orz OO0OOO00O0OOO0O00OOO0OO 前置知识 狄利克雷卷积 杜教筛 套路 杜教筛是用来求一类积性函数的前缀和 它通过各种转化,最终利用数论分块的思想来降低复杂度 假设我们现在要求$S(n) = \sum_{i = 1}^n f(i)$,$f(i)$为积性函数,$n \leqsla
原创
2021-06-05 10:39:59
186阅读
杜教筛真的是一个十分著名的筛法,它那玄学的$O(n^{\frac23})$时间复杂度真的是十分神奇。它主要用途是求积性函数的前缀和(当然,根据差分思想,求一段区间内的值之和也是很简单的)。
转载
2018-10-30 15:05:00
104阅读
2评论
今天本身是要学习莫比乌斯反演的,然后题单里面出现了一道需要用杜教筛的题,我还推到了只剩杜教筛的地方 于是迫不得已学习了这种神仙算法,真是迫不得已啊。。。。 杜教筛是一种在线性复杂度以下的求积性函数前缀和的高级算法,大概在$O(n^{\frac{2}{3}})$左右 前置知识 积性函数 积性函数:对于 ...
转载
2021-11-01 06:15:00
176阅读
2评论
P4213 【模板】杜教筛(Sum)套路推式子求s(n)=∑i=1nf(i)∑i=1n(f∗g)(i)=∑i=1n∑d∣if(d)g(id)=∑d=1n∑i=1⌊nd⌋f(i)g(d)=∑d=1ng(d)S(⌊nd⌋)=g(1)S(n)+∑d=2ng(d)S(⌊nd⌋)则有g(1)S(n)=∑i=1n(f∗g)(i)−∑d=2ng(d)S(⌊nd⌋)
原创
2021-08-26 16:45:07
171阅读
【前言】 杜教筛是一种利用递归思想求解数论函数的前缀和的高效思想。 优秀的复杂度和简单明快的思想使其在很多地方都有应用。 前置芝士部分可以完全参照莫比乌斯反演学习笔记中的狄利克雷卷积与数论函数部分。 【杜教筛】 假设有数论函数 \(f(i)\)。 我们已经掌握了某种 \(O(n)\) 求它的方法,当 ...
转载
2021-06-25 23:51:00
94阅读
2评论
注意具体实现时先在力所能及的范围内线性筛出$f(i)$再对剩余部分进行记忆化搜索
转载
2018-12-08 18:38:00
61阅读
2评论
入门好博客: 杜教筛 - pengym - 博客园 求一些方便构造卷积形式的积性函数的前缀和(不是积性函数如果可以变成卷积形式也可以做) 构造h=f*g,然后推h的前缀和,就可以把f前缀和递归处理 所以,h,g前缀和必须可以快速求 有时候,杜教筛的思想也值得借鉴。也是一些题目的解决方法。 由于可以记
转载
2019-03-08 22:19:00
100阅读
2评论
看着身边的大佬们这么快就学了各种筛,很是紧张啊…… 接下来~~强行~~学习一下 简介 用途:$O(n^\frac{2}{3})$求积性函数的前缀和。 本质就是推式子。 设有某个函数$f(i)$,我们要求$\sum_{i=1}^nf(i)$ 根据具体情况建出辅助函数$g(i)$。求狄利克雷卷积$h=g
转载
2020-04-28 21:14:00
39阅读
2评论
传送门杜教筛解决这类问题: 求 其中 我们寻找一个函数 g, 看能不能求出 看看
原创
2022-07-05 12:35:34
76阅读
杜教筛入门前置知识迪利克雷卷积(*):先介绍三个重要的函数:元函数ϵ(n)=[n==1]\epsilon(n) = [n == 1]ϵ(n)=[n==1]原函数可以看成是迪利克雷卷积里的单位元,即(ϵ∗f)(n)=f(n)(\epsilon * f)(n) = f(n)(ϵ∗f)(n)=f(n),证明:(ϵ∗f)(n)=∑d∣nϵ(d)f(nd)=ϵ(1)f(n)=f(n)(\epsilon * f)(n) = \sum_{d \mid n} \epsilon(d) f(\frac{n}{d
原创
2021-08-26 16:53:02
306阅读
杜教筛 对于一个数论函数 \(f\) 我们希望求其前缀和, 这时可以引出另一个数论函数 \(g\) 则我们可以得到: \(\sum_{i=1}^{n}\sum_{d|i}g(d)f(\left \lfloor \frac{i}{d} \right \rfloor)=\sum_{i=1}^{n}g(i ...
转载
2021-09-05 18:59:00
93阅读
2评论
题目思路欲求 f 的前缀和,若存在 g 使得 f ∗ g 以及 g 的前缀和都好求,就可以使用杜教筛:预处理前 n2/3 的 f,记忆化搜索代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7,N=5e6+77;ll p[N];int ph[N],cnt,mu[N];bool vis[N];unordered_map<int,int> ans
原创
2021-07-13 11:17:20
114阅读