• 2024-09-06杜教筛入门
    其实是因为莫反的题非常非常要用这个所以才来学。有些莫反甚至要求灵活运用,而不只是求\(\sum\mu(n)\)和\(\sum\phi(n)\)前置的芝士狄利克雷卷积对于两个数论函数\(f,g\),他们两个函数的前\(n\)项的狄利克雷卷积表示为\((f*g)(n)\),\((f*g)(n)=\displaystyle\sum_{d|n}f(d)g(\fra
  • 2024-08-25数论 Part : Dirichlet 卷积 & 莫比乌斯反演 & 杜教筛
    \(\text{-1前言}\)\(\text{-1.0日志}\)24.08.24:启动本文企划,正式着笔。\(\text{-1.1本文记号说明}\)本文使用\(\cdot\)表示乘号,\(*\)表示卷积,\(\mathbb{P}\)表示质数集。\(\text{0基础函数科技}\)单位函数\({\bf1}(x)=1\)。幂函数\(id^k(x)=x^k\)。恒等函数(幂
  • 2024-08-162024.8.16 总结(集训)
    今天是[whx](?)巨佬来给我们讲数论,大概是狄利克雷卷积、莫比乌斯反演、杜教筛、PN筛这条线路。虽然我很喜欢莫反,之前写了一些莫反题,但今天还是很有收获。对整除分块、杜教筛的理解更深刻了(关于整除分块为什么是\(O(\sqrtn)\)的、杜教筛的本质)。明白了\(\mu\)适合容斥。见到
  • 2024-07-18杜教筛入门
    当学Min25的一个前置知识。算法内容。定义\(S(n)=\sum_{i=1}^nf(i)\)。对于一个函数\(g\),有:\[\begin{aligned}\sum_{i=1}^n(f\timesg)(i)&=\sum_{i=1}^n\sum_{d|i}f(\frac{i}{d})g(d)\\&=\sum_{d=1}^ng(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}f(i)\\&am
  • 2024-06-07算法学习笔记(23):杜教筛
    杜教筛参考来源:OI-Wiki,网上博客线性筛可以在线性时间求积性函数前缀和,而杜教筛可以用低于线性时间求解积性函数前缀和。我们考虑\(S(n)\)就是积性函数的前缀和,所以我们尝试构造关于\(\largeS(n)\)关于\(\largeS(\lfloor\frac{n}{i}\rfloor)\)的递推式。对于任意
  • 2024-04-13杜教筛学习笔记
    杜教筛学习笔记杜教筛被用于求解某一数论函数\(f\)的前缀和,即对于形如\(S(n)=\sum_{i=1}^nf(i)\)形式的函数\(S\),杜教筛能够在小于线性复杂度的复杂度内求解。算法思想尝试构造一个函数\(S\)的递推式。选择一个数论函数\(g\),那么根据狄利克雷卷积可以得到:\[\begin{ali
  • 2024-04-02杜教筛
    这是一种对于一个数论函数\(f(n)\),计算\(S(n)=\sum_{i=1}^nf(i)\)的快速方法。构造两个积性函数\(h,g\)满足\(h=g*f\),根据卷积的定义,有\(h(i)=\sum_{d|i}g(d)f(\frac{i}{d})\),对\(h\)求和,有:\[\sum_{i=1}^nh(i)=\sum_{i=1}^n\sum_{d|i}g(d)f(\frac{i}{d})\]\[=\sum_{
  • 2024-03-09(未完工)莫反与杜教筛
    \(p\)是质数。\(p^k\)是质数的幂。广告https://github.com/August-Light/NTFuncs这是一个关于各种数论函数的Python库!前置知识数论分块模板题1:[UVA11526]H(n)模板题2:[LuoguP2261][CQOI2007]余数求和线性筛&线性筛数论函数模板题1:[LuoguP3383]【模板
  • 2024-02-29杜教筛——亚线性处理数论函数求和
    问题引入给定一个数论函数\(f(x)\),求\(\sum\limits_{i=1}^nf(i)\)。对\(n\le10^7\)甚至\(n\le10^8\)都是好做的,\(\mathcalO(n)\)解决即可,但如果\(n<2^{31}\)呢?这就需要亚线性时间复杂度的算法,杜教筛就是其一。杜教筛杜教筛是一种能在幂时间\(\mathcalO(
  • 2024-02-23杜教筛学习笔记
    杜教筛是求一个数论函数f的前缀和,令其为S我们考虑构造一个数论函数g,根据狄利克雷卷积\[\begin{aligned}\sum_{i=1}^{n}(f*g)(i)&=\sum_{i=1}^{n}\sum_{d\midi}g(d)f\left(\frac{i}{d}\right)\\&=\sum_{i=1}^{n}g(i)S\le
  • 2024-01-30杜教筛
    (抄袭Alex_Wei)一、知识点假设我们先现在希望求出函数\(f\)在\(n\)处的前缀和\(s(n)=\sum\limits_{i=1}^nf(i)\),我们构造另一个数论函数\(g\),设\(h=f*g\),则\[\begin{aligned}&\sum\limits_{i=1}^nh(i)\\=&\sum\limits_{ij\leqn}f(i)g(j)\\=&\sum\limits_{d=1}^ng
  • 2024-01-21<学习笔记> 杜教筛
    杜教筛处理数论函数的前缀和问题,可以在低于线性的复杂度里求出\(S(n)=\sum_{i=1}^{n}f(i)\)。对于任意一个数论函数\(g\),必须满足:\[\sum_{i=1}^{n}(f*g)(i)=\sum_{i=1}^{n}\sum_{d\midi}g(d)*d(\frac{i}{d})\]\[=\sum_{d=1}^{n}g(d)\sum_{j=1}^{\lfloor\frac{n}{d}
  • 2024-01-20杜教筛学习笔记
    原理前置知识:积性函数,狄利克雷卷积。杜教筛可以在亚线性的时间内算出某些函数的前缀和。假设我们要算出函数\(f\)的前缀和,我们要找到函数\(g\),记\(f*g=h\)。杜教筛的前提是\(g\)的前缀和与\(h\)的前缀和都可以快速计算,我们可以快速计算\(f\)的前缀和。首先,我们考
  • 2023-12-07杜教筛学习笔记
    积性函数定义:对于\(gcd(a,b)=1\),满足\(f(ab)=f(a)f(b)\)的函数。常用的积性函数:\(I(n)=1\)\(\epsilon(n)=[n==1]\)\(id(n)=n\)狄利克雷卷积对于两个数论函数\(f,g\),它们的狄利克雷卷积卷积是:\[(f*g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})\]单位元:\(f*\epsilon=f\)
  • 2023-08-26杜教筛学习笔记
    杜教筛学习笔记闲话感觉以前根本没学懂杜教筛,于是重学了一遍,写个笔记记录一下。前置知识依赖于迪利克雷卷积、莫比乌斯反演、整除分块相关知识。记号约定及基本性质约定:\(f*g\)表示\(f\)与\(g\)的迪利克雷卷积,即\((f*g)(n)=\sum\limits_{ij=n}f(i)g(j)\)。\(f\cdot
  • 2023-08-07杜教筛和Min_25筛
    学一遍忘一遍,忘一遍学一遍,生命就是在对抗熵增这两个玩意儿都是用来求积性函数前缀和的(满足对应要求的非积性函数也可以求一下)杜教筛性质要求相对高一些求\(\sum_{i=1}^{n}f(i)\),需要找到\(g(i),h(i)\),满足\(h=f*g\)且\(f,g\)都可以快速求解前缀和令\(S(n)=\sum_{i=1
  • 2023-07-30杜教筛学习笔记
    杜教筛杜教筛的基本形式对于积性函数\(g(n)\)我们希望求他的前缀和\(S_g(n)\),如果有另一积性函数\(f(n)\)满足\(f*g=h\),且\(fh\)的前缀和易求,那么我们可以通过\(S_f(n)S_h(n)\)快速的求出\(S_g(n)\)。\[\begin{aligned}S_h(n)&=\sum\limits_{i=1}^n\sum\limits_{d|i}f(d)\cdo
  • 2023-07-13杜教筛
    杜教筛令\(f(x)\)为某个积性函数,\(s(n)=\sum\limits_{i=1}^nf(i)\),我们构造另一干函数\(g\)算\(f*g\)的前缀和。\[\begin{aligned}\sum\limits_{i=1}^n(f*g)(i)=\sum\limits_{i=1}^n\sum\limits_{d|i}g(d)f(\dfrac{i}{d})=\sum\limits_{d=1}^ng(d)\sum\limits_{i=
  • 2023-07-09杜教筛
     杜教筛起源于中学信息学队员杜瑜皓它结合了三种算法,分别是:整除分块,狄利克雷卷积和线性筛它主要是求解n较大时的积性函数的值它的时间复杂度是O(n^(2/3)),小于O(n)杜教筛在竞赛中很难出现例题:P4213【模板】杜教筛(Sum)这是一道模板题,给出代码#include<bits/stdc++.h>#def
  • 2023-06-02杜教筛 & Min25 筛
    发现这个东西很容易忘,果然还是理解不够吧,写一篇博客方便以后复习。杜教筛目的是要求\(S(n)=\sum_{i=1}^nf(i)\)。我们需要构造两个函数\(g,h\)满足\(f*g=h\),其中\(h\)是一个积性函数且能快速求和。考虑求\(\sum_{i=1}^n\sum_{d|i}f(d)g(\dfrac{i}{d})=\sum_{i=1}
  • 2023-04-30杜教筛 & Powerful Number 筛
    迪利克雷卷积对于数论函数\(F\),\(G\),我们定义迪利克雷卷积的结果\(H=F*G\)为\[H_n=\sum_{d\midn}F_dG_\frac{n}{d}\]有些好的性质,比如:对于积性函数\(F\)与\(G\),其迪利克雷卷积\(F*G\)也是积性函数;而在迪利克雷卷积的意义下,积性函数\(F\)的逆也是积性函数(逆满足\(F
  • 2023-04-26【学习笔记】杜教筛
    如果我们要求一个积性函数\(f(x)\)的前缀和,可以用杜教筛在\(O(n^{\frac{2}{3}})\)的复杂度求出。具体地,构造函数\(g(x)\)和函数\(h(x)\),使得$h=f*g$,要求的式子是\(S(n)=\sum\limits_{i=1}^{n}f(i)\)。开始推式子。\[\sum\limits_{i=1}^{n}h(i)=\sum\limits_{i=1}^{
  • 2023-03-27浅析数论--埃氏筛/欧拉筛/杜教筛
    \(\mathcal{0x01绪论}\)\(\mathcal{质数的判定试除法or六倍原理}\)一个合数的约数总是成对出现的,如果\(d|n\)(\(d\)能被\(n\)整除),那么\((n/d)|n\),因此我们判断一个
  • 2023-02-21[bzoj 4176] Lucas的数论 (杜教筛 + 莫比乌斯反演)
    题面设为的约数个数,给定,求题目分析有这样一个结论这道题就是下面这道题的数据增强版,那么这个结论的证明就不再赘述,请自行查看下面的(蒟蒻)博客​​传送门:[SDOI2015][bz
  • 2023-02-21[51Nod 1237] 最大公约数之和 (杜教筛+莫比乌斯反演)
    题目描述求题目分析乍一看十分像裸莫比乌斯反演,然而的范围让人望而却步于是先变化一下式子枚举令k=Td则此时可以整除分块优化,每次算出相等的上下界后用莫比乌斯反演计