Preface

这东西分明就是玄学暴力
用来求简单的数论函数的前缀和,像φ,μφ,\mu这类的东西

当然,约数和,约数个数之类的也是可以的

Text

数论函数是指定义域是整数,陪域是复数的函数

Dirichlet 卷积

定义两个数论函数f,gf,g
它们的狄利克雷卷积表示f∗gf*g,设卷起来得到的新函数是hh

h(i)=∑d|if(i)g(id)

h(i)=\sum\limits_{d|i}f(i)g({i\over d})
明显hh也是一个数论函数

显然它满足交换,结合律,对加法满足分配律

有常见的一些数论函数
1(i)=1,n(i)=n1(i)=1,n(i)=n(常函数)
e(1)=1,e(n)=0(n>1)e(1)=1,e(n)=0(n>1) (单位元)
id(i)=iid(i)=i
idk(i)=ikid_k(i)=i^k
μ(i)\mu(i)(莫比乌斯函数,不解释)
φ(i)φ(i)(欧拉函数,不解释)
约数个数,设为d(i)=∑d|i1d(i)=\sum\limits_{d|i} 1
约数和,设为σ(i)=∑d|id\sigma(i)=\sum\limits_{d|i}d

显然有以下常见的卷积形式

任意函数卷积单位元仍为它本身

  • d=1∗1d=1*1

  • σ=id∗1\sigma=id*1

因为e(n)=∑d|nμ(d)e(n)=\sum\limits_{d|n}\mu(d)
所以

  • e=1∗μe=1*\mu

因为φ(n)=∑d|nμ(d)ndφ(n)=\sum\limits_{d|n}\mu(d){n\over d}
所以

  • φ=μ∗idφ=\mu*id

因为n=∑d|nφ(d)n=\sum\limits_{d|n}φ(d)
所以

  • id=φ∗1id=φ*1

杜教筛

考虑如何求μ\mu的前缀和

比如说101010^{10}?
线筛会T

设S(n)=∑i=1nμ(i)S(n)=\sum\limits_{i=1}^{n}\mu(i)
确定一个合适的数论函数gg

∑i=1n(g∗μ)(i)=∑i=1n∑d|iμ(id)g(d)

\sum\limits_{i=1}^{n}(g*\mu)(i)=\sum\limits_{i=1}^{n}\sum\limits_{d|i}\mu({i\over d})g(d)
交换主体

=∑d=1n∑d|iμ(id)g(d)

=\sum\limits_{d=1}^{n}\sum\limits_{d|i}\mu({i\over d})g(d)

=∑d=1ng(d)∑i=1⌊nd⌋μ(i)

=\sum\limits_{d=1}^{n}g(d)\sum\limits_{i=1}^{\lfloor {n\over d}\rfloor}\mu(i)

=∑d=1ng(d)S(⌊nd⌋)

=\sum\limits_{d=1}^{n}g(d)S({\lfloor {n\over d}\rfloor})

那么g(1)S(n)=∑i=1n(g∗μ)(i)−∑d=2ng(d)S(⌊nd⌋)g(1)S(n)=\sum\limits_{i=1}^{n}(g*\mu)(i)-\sum\limits_{d=2}^{n}g(d)S({\lfloor {n\over d}\rfloor})

要使gg和g∗μg*\mu尽量容易求,可以想到gg用11函数是比较合适的,即g(i)=1g(i)=1

因为1∗μ=e1*\mu=e
原式化为

S(n)=1−∑d=2nS(⌊nd⌋)

S(n)=1-\sum\limits_{d=2}^{n}S({\lfloor {n\over d}\rfloor})

可以用线筛预处理前(√n)\sqrt(n)或者n23n^{2\over 3}的SS,后面减的部分分块处理,递归下去,再哈希或者什么东西把算过的S记忆化一下

复杂度取决于预处理的多少

实验和理论都证明,预处理前n23n^{2\over 3}个S,总复杂度最优,为O(n23)O(n^{2\over 3})

据说证明要用积分?然而我并不会。。。

对于求欧拉函数的前缀和,方法也是一样的,gg仍取11,只不过g∗φ=idg*φ=id
前面的1改成n(n+1)/2n(n+1)/2

【学习小记】狄利克雷卷积+杜教筛相关推荐

  1. P3768 简单的数学题 [狄利克雷卷积,杜教筛,莫比乌斯反演]

    简单的数学题 题目连接 https://www.luogu.org/problemnew/show/P3768 题目描述 输入一个正整数n,n≤1010n,n\le 10^{10}n,n≤1010和p ...

  2. huntian oy (数论卷积杜教筛)

    huntian oy (数论&卷积&杜教筛) 思路: f(n,a,b)=∑i=1n∑j=1igcd(ia−ja,ib−jb)[gcd(i,j)=1](mod109+7)f(n,a,b) ...

  3. [学习笔记] 初次见面,请多关照 (公式推导+题集)——杜教筛

    筛积性函数的前缀和 常见积性函数 公式推导 狄利克雷卷积 杜教筛 实现 常见卷积 习题集 Sum 神犇和蒟蒻 简单的数学题 常见积性函数 μ\muμ φφφ d(n)d(n)d(n):nnn的约数个数 ...

  4. matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...

    数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...

  5. 杜教筛 狄利克雷卷积入门

    补下暑假的坑 杜教筛看了两天勉勉强强才看懂了一点点 杜教牛逼 杜教筛意义 其实,对于一般的数论题,线性筛已经非常的优秀了. 但是就是有那些duliu出题人,硬是要把数据出到1e10之类的,就看你会不会 ...

  6. 欧拉函数+狄利克雷卷积+莫比乌斯函数+莫比乌斯反演+整除分块+杜教筛

    Powered by:NEFU AB-IN 文章目录 欧拉函数 狄利克雷卷积 莫比乌斯函数 莫比乌斯反演 P3455 [POI2007]ZAP-Queries 整除分块 P2522 [HAOI2011 ...

  7. 迪利克雷卷积,莫比乌斯反演,杜教筛

    常见积性函数 μ(n)={1,i=10,n无2次方以上的素因数(−1)k,k为不同素因数的种类\mu(n)=\begin{cases} 1,&i=1\\ 0,&n无2次方以上的素因数\ ...

  8. 数论题中(杜教筛)交换求和符号

    文章目录 方阵 下三角 约数倍数 狄利克雷卷积 以及 杜教筛学习笔记 突然对交换求和符号有了新的理解了,用矩阵转置的思路就很好理解,外层循环相当于枚举行,内层枚举列,交换次序就是先枚举列,再枚举行 方 ...

  9. 2019年CCPC - 网络赛E:huntian oy【杜教筛】

    题目: HDU---6706:huntian oy 题意: 给定N,a,b,求下面式子的值(求和后再mod 1e9+7): 分析: 一直怯于杜教筛不敢去学习[一看就会的杜教筛],今天终于迈出了这一步, ...

最新文章

  1. hihocoder 1152 Lucky Substrings
  2. Flask-RESTful之响应处理
  3. Python Bokeh 库进行数据可视化实用指南
  4. python观察日志(part18)--遍历文件夹下文件并判断后缀
  5. 清空缓存的命令_最实用的6个网络命令,网络故障不求人
  6. Asterisk权威指南/第二章 Asterisk架构
  7. 剑指Offer - 面试题11. 旋转数组的最小数字(二分查找)
  8. (计算机组成原理)第七章输入和输出系统-第四节1:I/O方式之程序查询方式
  9. 别让for循环毁了你的程序(一)
  10. mysqlserver输入密码后闪退_iOS降级教程:iOS 14 后如何降级到ios13?
  11. 基于神念TGAM的脑波小车(1)
  12. 给敏感字符加星号处理
  13. 2020-11-25
  14. 安恒信息明御WEB应用防火墙产品白皮书
  15. 3DES加密(iOS,Android,Java)
  16. 交换字符使得字符串相同
  17. 关于win10打印机设置错误,无法打印的解决办法
  18. 行驶证识别/行驶证OCR识别全方位解析
  19. 十个细节透露女人心思
  20. 移动web开发viewport记录

热门文章

  1. 少年派 —— 之 读书
  2. 集成声网(Agora)SDK踩坑集锦系列
  3. Pandas将列表(List)转换为数据框(Dataframe)进阶篇
  4. 理论基础篇 -- 【计算机网络通关29讲笔记】
  5. 【SpringBoot】SpringBoot 整合 MyBatis
  6. unity警告“Tiled GPU perf. warning: RenderTexture color surface (0x0) was not cleared/discarded, doin”
  7. 耳朵上的艺术品,飞利浦圈铁真无线耳机JT60无敌了!
  8. 随机抽人名小程序_这些好用的微信小程序,你知道多少?
  9. 【半导体先进工艺制程技术系列】SOI技术(下)
  10. 苹果手机来电归属地_手机号码归属地能否取消?工信部回复!