前言

  • 首先感谢 XHM 大佬的悉心指导,我懂得了不少~。

  • 链一下他关于这方面的见解、博客——XHM 的Dirichlet卷积 学习小记

一些定义

  • 回归正题,这次我学习了一下狄利克雷卷积方面的知识。

  • 先给一波定义:(这里也感谢 skywalkert大佬的精心讲解)

数论函数的定义

  • 若 f(n)f(n)f(n) 的定义域为 正整数域,值域为 复数,即 f:Z+→Cf:Z+→Cf: {\Bbb Z}^+→ {\Bbb C} ,则称 f(n)f(n)f(n) 为 数论函数

积性函数的定义

  • 若 f(n)f(n)f(n) 是 数论函数,且 f(1)=1f(1)=1f(1)=1 ,对于 互质 的正整数 p,qp,qp,q ,有:

    f(p⋅q)=f(p)⋅f(q)f(p·q)=f(p)·f(q)

    f(p·q)=f(p)·f(q)

  • 则称 f(n)f(n)f(n) 为 积性函数

完全积性函数的定义

  • 若 f(n)f(n)f(n) 为 积性函数 ,且对于 任意 正整数 p,qp,qp,q 都有:

    f(p⋅q)=f(p)⋅f(q)f(p·q)=f(p)·f(q)

    f(p·q)=f(p)·f(q)

  • 则称 f(n)f(n)f(n) 为 完全积性函数

狄利克雷卷积的定义

  • 定义 数论函数 fff 和 g" role="presentation" style="position: relative;">ggg 的 狄利克雷卷积 为 hhh ,则:

    h(n)=∑d|nf(d)·g(nd)" role="presentation">h(n)=∑d|nf(d)⋅g(nd)h(n)=∑d|nf(d)·g(nd)

    h(n)=\sum_{d|n}{f(d)·g(\frac{n}{d})}

  • 记作:h=f∗gh=f∗gh=f*g 。

一些性质

  • DirichletDirichletDirichlet 卷积满足交换律结合律,对加法满足分配律(如:(f+g)∗h=f∗h+g∗h(f+g)∗h=f∗h+g∗h(f+g)*h=f*h+g*h)。

  • 两个 积性函数狄利克雷卷积 依旧为 积性函数

一些常见的数论函数

  • 常值函数:n(i)=nn(i)=nn(i)=n (就是总是返回一个固定值的函数)。

一些常见的积性函数

  • 单位元函数:e(n)=[n=1]e(n)=[n=1]e(n)=[n=1] ,它卷上任意的数论函数仍为原数论函数,既满足:

    f∗e=f=e∗ff∗e=f=e∗f

    f*e=f=e*f

  • 幂函数:idk(n)=nkidk(n)=nkid^k(n)=n^k ,完全积性。

  • 恒等函数:I(n)=1I(n)=1I(n)=1 (也是常值函数,只是比较特殊),完全积性,相当于 id0id0id^0。

  • 单位函数:id(n)=nid(n)=nid(n)=n ,完全积性,相当于 id1id1id^1。

  • 莫比乌斯函数 μ(n)μ(n)μ(n) ,在狄利克雷卷积的乘法中与 恒等函数I(n)=1I(n)=1I(n)=1 互为 逆元,即有:

    μ∗I=eμ∗I=e

    μ*I=e

  • 且 μ(1)=1μ(1)=1μ(1)=1,对于无平方因子数 n=∏ti=1pin=∏i=1tpin=∏^t_{i=1}pi 有 μ(n)=(−1)tμ(n)=(−1)tμ(n)=(−1)^t ,

  • 对于有平方因子数 nnn 有 μ(n)=0" role="presentation" style="position: relative;">μ(n)=0μ(n)=0μ(n)=0 。

  • 欧拉函数:φ(n)=∑ni=1[(n,i)=1]⋅1φ(n)=∑i=1n[(n,i)=1]⋅1φ(n)=\sum^n_{i=1}[(n,i)=1]⋅1 ,表示小于等于 nnn 与 n" role="presentation" style="position: relative;">nnn 互质的数的个数。

  • 另外有: ∑ni=1[(n,i)=1]⋅i=n⋅φ(n)+[n=1]2∑i=1n[(n,i)=1]⋅i=n⋅φ(n)+[n=1]2\sum^n_{i=1}[(n,i)=1]⋅i=\frac{n⋅φ(n)+[n=1]}{2} ,且对于正整数 n>2n>2n>2 来说 φ(n)φ(n)φ(n) 是偶数。

  • 除数函数: σk(n)=∑d|ndkσk(n)=∑d|ndkσ_k(n)=\sum_{d|n}d^k ,表示 nnn 的约数的 k" role="presentation" style="position: relative;">kkk 次幂和,注意 σk(n)σk(n)σ_k(n) 与 σk(n)σk(n)σ^k(n) 是不同的。

  • 约数和函数:σ(n)=σ1(n)=∑d|ndσ(n)=σ1(n)=∑d|ndσ(n)=σ_1(n)=\sum_{d|n}d ,表示 nnn 的约数之和(∑)。

  • 约数个数函数: τ(n)=σ0(n)=∑d|n1" role="presentation" style="position: relative;">τ(n)=σ0(n)=∑d|n1τ(n)=σ0(n)=∑d|n1τ(n)=σ_0(n)=\sum_{d|n}1 ,表示 nnn 的约数个数,一般也写为 d(n)" role="presentation" style="position: relative;">d(n)d(n)d(n) 。

一些常用的狄利克雷卷积

  • 说在前面,因为:∑d|nμ(d)=[n=1]∑d|nμ(d)=[n=1]\sum_{d|n}μ(d)=[n=1] ,有①:I∗μ=eI∗μ=eI∗μ=e (即 III 和 μ" role="presentation" style="position: relative;">μμμ 互为逆元)。

  • 怎么证明呢?考虑有值(非零)的 μ(n)μ(n)μ(n) 对答案的贡献。

  • 当 n=1n=1n=1 时,即 μ(1)=1μ(1)=1μ(1)=1 ,此时 (I∗μ)(1)=I(1)⋅μ(1)=1=e(1)(I∗μ)(1)=I(1)·μ(1)=1=e(1)(I*μ)(1)=I(1)·μ(1)=1=e(1) 。

  • 而当 n>1n>1n>1 时,令 n=∏ki=1Pin=∏i=1kPin=∏^k_{i=1}P_i ,其中 PiPiP_i 为互不相同的质数。

  • 此时:

    ∑i=0kμ(i)⋅Cik=∑i=0kμ(i)⋅Cik⋅I(k−i)∑i=0kμ(i)·Cki=∑i=0kμ(i)·Cki·I(k−i)

    \sum_{i=0}^kμ(i)·C_k^i=\sum_{i=0}^kμ(i)·C_k^i·I(k-i)

    =∑i=0k(−1)i⋅Cik⋅1k−i=∑i=0k(−1)i·Cki·1k−i

    =\sum_{i=0}^k(-1)^i·C_k^i·1^{k-i}

    =(1−1)k=0 (二项式定理)=(1−1)k=0(二项式定理)

    =(1-1)^k=0\ (二项式定理)

  • 所以 n>1n>1n>1 后面的值之和为零,则命题 I∗μ=eI∗μ=eI∗μ=e 得证。

  • ②:μ∗id=φμ∗id=φμ∗id=φ ,将欧拉函数的通式展开即可得到此式。

  • ③:I∗id=σI∗id=σI*id=σ ,证明如下:

    (I∗id)(n)=∑d|nid(d)∗I(nd)(I∗id)(n)=∑d|nid(d)∗I(nd)

    (I*id)(n)=\sum_{d|n}id(d)*I(\frac{n}{d})

    =∑d|nd⋅1=σ(n)=∑d|nd·1=σ(n)

    =\sum_{d|n}d·1=σ(n)

  • ④:I∗I=τI∗I=τI∗I=τ ,证明跟上面同理。

  • 以上①②③④都是非常常用的狄利克雷卷积。

莫比乌斯反演

  • 而且我们也能够通过简单的狄利克雷卷积运算轻易地证出莫比乌斯反演。

  • 设 F(n)=∑d|nf(d)F(n)=∑d|nf(d)F(n)=\sum_{d|n}f(d) ,补上一项:F(n)=∑d|nf(d)∗I(nd)F(n)=∑d|nf(d)∗I(nd)F(n)=\sum_{d|n}f(d)*I(\frac{n}{d}) (等价)

  • 则有:F=I∗fF=I∗fF=I*f ,两边同时卷上 μμμ ,即:μ∗F=μ∗I∗f" role="presentation" style="position: relative;">μ∗F=μ∗I∗fμ∗F=μ∗I∗fμ*F=μ*I*f

  • 由于①:μ∗I=eμ∗I=eμ*I=e ,单位元函数可以直接抹去,那就相当于:f=μ∗Ff=μ∗Ff=μ*F

  • 于是得证:

    f(d)=∑d|nμ(d)⋅F(nd)f(d)=∑d|nμ(d)·F(nd)

    f(d)=\sum_{d|n}μ(d)·F(\frac{n}{d})

几个结论

  • 结论①:n=∑d|nφ(d)n=∑d|nφ(d)n=\sum_{d|n}φ(d) ,证明:

    id=id∗e=id∗(μ∗I)=(id∗μ)∗I=φ∗Iid=id∗e=id∗(μ∗I)=(id∗μ)∗I=φ∗I

    id=id*e=id*(μ*I)=(id*μ)*I=φ*I

  • 则:

    n=id(n)=∑d|nφ(d)∗I(nd)=∑d|nφ(d)n=id(n)=∑d|nφ(d)∗I(nd)=∑d|nφ(d)

    n=id(n)=\sum_{d|n}φ(d)*I(\frac{n}{d})=\sum_{d|n}φ(d)

  • 结论②:σ(n)=∑d|nτ(d)∗φ(nd)σ(n)=∑d|nτ(d)∗φ(nd)σ(n)=\sum_{d|n}τ(d)∗φ(\frac{n}{d}) ,证明:

    σ=σ∗e=(I∗id)∗(I∗μ)=(I∗I)∗(id∗μ)=τ∗φσ=σ∗e=(I∗id)∗(I∗μ)=(I∗I)∗(id∗μ)=τ∗φ

    σ=σ*e=(I*id)*(I*μ)=(I*I)*(id*μ)=τ*φ

二项式反演

  • 由 Ai=∑ij=0Cji⋅BjAi=∑j=0iCij·BjA_i=\sum_{j=0}^iC_i^j·B_j ,反演得:Bi=∑ij=0(−1)j⋅Cji⋅AjBi=∑j=0i(−1)j·Cij·AjB_i=\sum_{j=0}^i(-1)^j·C_i^j·A_j

总结

  • 狄利克雷卷积让我们开阔了不少眼界,也让我们做题的思路打开了很多。

  • 如结合杜教筛、拉格朗日插值法、莫比乌斯反演等算法可以更轻易地攻克更多题目。

积性函数与Dirichlet卷积 学习小记相关推荐

  1. 【原创】积性函数和狄利克雷卷积学习笔记 未完成

    Index 狄利克雷卷积和积性函数 〇.说在前面 一.一些定义 1.数论函数 2.积性函数与完全积性函数 (1)定义 (2)举例 ①(普通)积性函数 ②完全积性函数 (3)性质 二.狄利克雷卷积 1. ...

  2. 狄利克雷卷积_积性函数和狄利克雷卷积小结

    1.积性函数:对于函数$f(n)$,若满足对任意互质的数字a,b,a*b=n且$f(n)=f(a)f(b)$,那么称函数f为积性函数.显然f(1)=1. 2.狄利克雷卷积:对于函数f,g,定义它们的卷 ...

  3. (数论一)积性函数与狄利克雷卷积

    ​ 今天做的一道题就是有关积性函数与狄利克雷卷积的,很懵逼.觉得有必要学一手了 一. 积性函数是什么呢? ​ 对于函数f,对于任意的a,b互质,都有: f(a * b) = f(a) * f(b) ​ ...

  4. Dirichlet卷积 学习小记

    定义 定义数论函数fff和g" role="presentation" style="position: relative;">ggg的狄利克雷 ...

  5. 积性函数、狄利克雷卷积、莫比乌斯反演

    狄利克雷卷积 定义: f∗g(n)=∑d∣nf(d)g(nd)f*g(n)=\sum_{d|n}f(d)g(\frac nd)f∗g(n)=d∣n∑​f(d)g(dn​) 计算的时候可以把枚举约数转换 ...

  6. 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演

    初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...

  7. 【算法讲7:积性函数(下)】⌈ 加性函数 ⌋ 与 ⌈ 积性函数 ⌋ 与 ⌈ 狄利克雷卷积 ⌋ 详细介绍

    [算法讲7:积性函数(下)] 前置 补充 ⌈\lceil⌈积性函数⌋\rfloor⌋ (乘性函数) 四个最基本的定义 关于积性函数的基本性质 性质一:f(1) 性质二:积性函数的各种传递 性质三:整数 ...

  8. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  9. 【学习笔记】积性函数

    文章目录 概述 贝尔级数 狄利克雷生成函数 黎曼函数 导数与积分 对数和指数 除法 线性筛 Powerful Number\text{Powerful Number}Powerful Number 杜 ...

最新文章

  1. SpringBoot @Cacheable缓存注解的使用
  2. Redis 常用操作命令
  3. jQuery版本的网页开关灯、jQuery版本网页开关灯的另一种写法
  4. 0-1背包问题 题目:国王和金矿问题 描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人。每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不同为一维
  5. 在单元测试和TDD中指定时间的重要性
  6. 【转】Linux的五个查找命令:find,locate,whereis,which,type
  7. 计算机用键盘能干什么,年轻人的第一块智能键盘-半台MBP能干什么?
  8. java的程序编码_Java 程序编码规范(初学者要牢记)
  9. JS来推断文本框内容改变事件
  10. 缓存热点问题解决方案
  11. 神经网络入门--学习资源
  12. 【转】开发板上修改时间方法
  13. SparkStreaming----复习
  14. listlength函数头文件_length函数
  15. 专访李明远,理清直达号九大疑问
  16. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.15圆形构图
  17. 【吐血整理】java程序员推荐轻薄笔记本
  18. 如何在指板上寻找特殊和弦
  19. 微信朋友圈装x代码_朋友圈生成器有哪些_微信朋友圈生成器大全_微信朋友圈装逼生成器下载_飞翔软件专题...
  20. Dubbo之——Dubbo服务集群

热门文章

  1. Redis 教程基于win10:1介绍
  2. springboot1——第一个springboot程序
  3. 看google三篇论文的感触
  4. 科大星云诗社动态20210211
  5. cd库图像处理php,PHP图像处理类库及演示分享
  6. OpenGL编程指南12:光照_渲染真实球体
  7. 如何调用DLL (基于Visual C++6.0的DLL编程实现)
  8. MySQL 数据库的备份和恢复
  9. Eclipse中的插件安装
  10. python编程题三