积性函数

积性函数:对于数论函数 fff ,若任意互质的 p,qp,\ qp, q 都有 f(pq)=f(p)f(q)f(pq)=f(p)f(q)f(pq)=f(p)f(q) ,则称 fff 是积性函数。
完全积性函数:对于数论函数 fff ,若任意的 p,qp,\ qp, q 都有 f(pq)=f(p)f(q)f(pq)=f(p)f(q)f(pq)=f(p)f(q) ,则称 fff 是完全积性函数。
定义逐点加法:(f+g)(x)=f(x)+g(x),(f⋅g)(x)=f(x)g(x)(f+g)(x)=f(x)+g(x),\ \ \ (f\cdot g)(x)=f(x)g(x)(f+g)(x)=f(x)+g(x),   (f⋅g)(x)=f(x)g(x) 。

定理:积性函数一定满足 f(1)=1f(1)=1f(1)=1 。
证明:设 f(a)≠0f(a)\ne 0f(a)​=0 ,则 f(a)=f(1×a)=f(1)f(a)f(a)=f(1\times a)=f(1)f(a)f(a)=f(1×a)=f(1)f(a) 。显然 f(1)=1f(1)=1f(1)=1 。

定理:对于任意的 n>1,n=p1a1p2a2⋯psasn>1,\ n=p_1^{a_1}p_2^{a_2}\cdots p_s^{a_s}n>1, n=p1a1​​p2a2​​⋯psas​​ ,则对积性函数 fff 有: f(n)=∏i=1sf(piai)f(n)=\prod_{i=1}^{s}f(p_i^{a_i})f(n)=∏i=1s​f(piai​​) 。

凡是积性函数都可用线性筛求。

若 f,gf,\ gf, g 是积性函数,则下列函数也是积性函数。
h(x)=f(xp)h(x)=fp(x)h(x)=f(x)g(x)h(x)=∑d∣xf(d)g(xd)\begin{aligned} h(x) =& f(x^p)\\ h(x) =& f^p(x)\\ h(x) =& f(x)g(x)\\ h(x) =& \sum_{d\mid x}f(d)g(\dfrac{x}{d}) \end{aligned} h(x)=h(x)=h(x)=h(x)=​f(xp)fp(x)f(x)g(x)d∣x∑​f(d)g(dx​)​

常见积性函数

定义:在 全体正整数(或全体整数)上定义的函数称作数论函数或算术函数。(当然,更一般些,也可把数论函数看作是在某一整数集合上定义的函数。)
下面来列举一些定义在全体自然数集合上的数论函数。

  1. 狄利克雷卷积的单位元 ε(n)\varepsilon(n)ε(n)
    ε(n)={1n=10n>1\begin{array}{l} \varepsilon(n)= \left\{\begin{matrix} 1\ \ \text{}n=1 \\ 0\text{}\ \ n>1 \\ \end{matrix}\right. \end{array} ε(n)={1  n=10  n>1​​

  2. 除数函数 σλ(n)\sigma_\lambda(n)σλ​(n) ,λ\lambdaλ 为实数。 σλ(n)=∑d∣ndλ\sigma_\lambda(n)=\sum_{d\mid n}d^{\lambda}σλ​(n)=∑d∣n​dλ 。

    • 当 λ=0\lambda=0λ=0 , nnn 的所有正因子数目,通常记作 d(n)d(n)d(n) 或 τ(n)\tau(n)τ(n) ,d(n)=∑d∣n1d(n)=\sum_{d\mid n}1d(n)=∑d∣n​1 。
    • 当 λ=1\lambda=1λ=1 , nnn 的所有正因子和,通常记作 σ(n)\sigma(n)σ(n) ,σ(n)=∑d∣nd\sigma(n)=\sum_{d\mid n}dσ(n)=∑d∣n​d 。
  3. idk(n)=nkid^k(n)=n^kidk(n)=nk ,幂函数

  4. id(n)=nid(n)=nid(n)=n ,单位函数(恒等函数)

  5. 111(n)=id0(n)=n0=1,n⩾1(n)=id^0(n)=n^0= 1,\ \ n\geqslant 1(n)=id0(n)=n0=1,  n⩾1 不变函数

  6. 欧拉函数 φ(n)\varphi(n)φ(n) ,φ(n)=∑1⩽d⩽n(d,n)=11\varphi(n)=\sum_{1\leqslant d\leqslant n\\ \ (d,\ n)=1}1φ(n)=∑1⩽d⩽n (d, n)=1​1

  7. 莫比乌斯函数 μ(n)\mu(n)μ(n)​
    μ(n)={1n=10n含有平方因子(−1)kk为 n的本质不同质因子个数 \mu(n)= \begin{cases} 1 & n=1\ \\ 0 & n\text{ 含有平方因子}\\ (-1)^k & k\text{ 为 }n\text{ 的本质不同质因子个数}\ \end{cases} μ(n)=⎩⎪⎨⎪⎧​10(−1)k​n=1 n 含有平方因子k 为 n 的本质不同质因子个数 ​

莫比乌斯函数

性质:∑d∣nμ(d)=[n=1]\sum_{d\mid n}\mu(d)=[n=1]∑d∣n​μ(d)=[n=1] 。即 ∑d∣nμ(d)=ε(n)\sum_{d\mid n}\mu(d)=\varepsilon(n)∑d∣n​μ(d)=ε(n) ,μ∗1=ε\mu*1=\varepsilonμ∗1=ε ,∗*∗ 为狄利克雷卷积。
证明:当 n=1n=1n=1 时,显然成立。设 n=p1α1p2α2⋯psαsn=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_s^{\alpha_s}n=p1α1​​p2α2​​⋯psαs​​ ,则由 μ(n)\mu(n)μ(n) 的定义知

∑d∣nμ(d)=μ(1)+μ(p1)+⋯+μ(ps)+μ(p1p2)+⋯+μ(ps−1ps)+⋯+μ(p1p2⋯ps)=1+(s1)(−1)+(s2)(−1)2+⋯+(ss)(−1)s=0\qquad\qquad\qquad \begin{aligned}\sum_{d\mid n}\mu(d) &=\mu(1)+\mu(p_1)+\cdots+\mu(p_s)+\mu(p_1p_2)+\cdots+\mu(p_{s-1}p_s)+\cdots+\mu(p_1p_2\cdots p_s)\\ &= 1+\dbinom{s}{1}(-1)+\dbinom{s}{2}(-1)^2+\cdots +\dbinom{s}{s}(-1)^s \\ &=0 \end{aligned}d∣n∑​μ(d)​=μ(1)+μ(p1​)+⋯+μ(ps​)+μ(p1​p2​)+⋯+μ(ps−1​ps​)+⋯+μ(p1​p2​⋯ps​)=1+(1s​)(−1)+(2s​)(−1)2+⋯+(ss​)(−1)s=0​

由上可知,对于整数 i,ji,\ ji, j ,有 [gcd⁡(i,j)=1]=∑d∣gcd⁡(i,j)μ(d)[\ \gcd(i,\ j)=1\ ]=\displaystyle\sum_{d\mid \gcd(i,\ j)}\mu(d)[ gcd(i, j)=1 ]=d∣gcd(i, j)∑​μ(d) 。

数论函数 fff 的 莫比乌斯变换: F(n)=∑d∣nf(d)F(n)=\sum_{d\mid n}f(d)F(n)=∑d∣n​f(d) 。 FFF 也称作 fff 的和函数。
由和函数 FFF 求 fff 的操作称为 莫比乌斯反演 : f(n)=∑d∣nμ(d)F(nd)f(n)=\sum_{d\mid n}\mu(d)F(\dfrac{n}{d})f(n)=∑d∣n​μ(d)F(dn​) 。

μ\muμ 是积性函数。
证明

线性筛求莫比乌斯函数。

int p[N], cntp;
bool st[N];
int mu[N];
void get_mu(int n)
{mu[1] = 1;for(int i = 2; i <= n; i++){if(!st[i])p[++cntp] = i, mu[i] = -1;for(int j = 1; p[j] <= n / i; j++) {st[p[j] * i] = true;if(i % p[j] == 0) {mu[p[j] * i] = 0;break;}mu[p[j] * i] = -mu[i];}}
}

Dirichlet 卷积

定义:若 f,gf,\ gf, g 是两个数论函数,则 f,gf,\ gf, g 的狄利克雷卷积是 (f∗g)(n)=∑d∣nf(d)g(nd)(f*g)(n)=\sum_{d\mid n}f(d)g(\dfrac{n}{d})(f∗g)(n)=∑d∣n​f(d)g(dn​) 。

运算规律

交换律:f∗g=g∗ff*g=g*ff∗g=g∗f
证明:(f∗g)(n)=∑d∣nf(d)g(nd)=∑d∣nf(nd)g(d)=(g∗f)(n)(f*g)(n)=\sum_{d\mid n}f(d)g(\dfrac{n}{d})=\sum_{d\mid n}f(\dfrac{n}{d})g(d)=(g*f)(n)(f∗g)(n)=∑d∣n​f(d)g(dn​)=∑d∣n​f(dn​)g(d)=(g∗f)(n) 。

结合律:f∗(g∗h)=(f∗g)∗hf*(g*h)=(f*g)*hf∗(g∗h)=(f∗g)∗h
证明:设 G=g∗hG=g*hG=g∗h ,(f∗G)(n)=∑ad=nf(a)G(d)=∑ad=nf(d)∑bc=dg(b)h(c)=∑abc=nf(a)g(b)h(c)(f*G)(n)=\sum_{ad=n}f(a)G(d)=\sum_{ad=n}f(d)\sum_{bc=d}g(b)h(c)=\sum_{abc=n}f(a)g(b)h(c)(f∗G)(n)=∑ad=n​f(a)G(d)=∑ad=n​f(d)∑bc=d​g(b)h(c)=∑abc=n​f(a)g(b)h(c) 。
设 F=f∗gF=f*gF=f∗g ,可得到相同结果。

莫比乌斯变换

定理:III 为卷积中的单位元素,亦即 f∗I=I∗f=ff*I=I*f=ff∗I=I∗f=f 。
证明:(f∗I)(n)=∑d∣nf(d)I(nd)=f(n)(f*I)(n)=\sum_{d\mid n}f(d)I(\dfrac{n}{d})=f(n)(f∗I)(n)=∑d∣n​f(d)I(dn​)=f(n) 。

定义:若 F=f∗uF=f*uF=f∗u ,则 FFF 称为 fff 的莫比乌斯变换,即 F(n)=∑d∣nf(d)F(n)=\sum_{d\mid n}f(d)F(n)=∑d∣n​f(d) 。

莫比乌斯反演

定理:若 F=f∗uF=f*uF=f∗u ,则 f=F∗μf=F*\muf=F∗μ 称为 FFF 的莫比乌斯反演。
证明: F∗μ=(f∗u)∗μ=f∗(u∗μ)=f∗I=fF*\mu=(f*u)*\mu=f*(u*\mu)=f*I=fF∗μ=(f∗u)∗μ=f∗(u∗μ)=f∗I=f 。

从积性函数到莫比乌斯反演相关推荐

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

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

  2. 【数学专题】莫比乌斯反演与积性函数

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的模板整合计划 目录 莫比乌斯反演 AcWing 2702. problem b AcWing 1358. 约数个数和(莫 ...

  3. HDU 6134 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)

    实在太长了直接放题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6134 这题就是求 考虑当Gcd(i, j)==1时,除了j为1的情况,其它时候i/j一 ...

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

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

  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. 积性函数欧拉函数莫比乌斯函数

    积性函数 (积性函数). 如果算术函数fff对任意两个互素的正整数a和b,f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b),则fff被称为积性函数(或乘性函数):如 ...

  7. 杜教筛(上):整除分块,积性函数,欧拉与莫比乌斯

    整除分块: 当我们求∑i=1nf(⌊ni⌋)\sum_{i=1}^nf(\lfloor\frac{n}{i}\rfloor)∑i=1n​f(⌊in​⌋)的时候,如果1到n求一遍感觉太傻了,因为会有很多 ...

  8. 欧拉心算(反演 + 积性函数筛)

    欧拉心算 推式子 ∑i=1n∑j=1nϕ(gcd(i,j))=∑d=1nϕ(d)∑i=1nd∑j=1nd[gcd(i,j)==1]=∑d=1nϕ(d)∑k=1ndμ(k)(⌊nkd⌋)2另t=kd=∑ ...

  9. 2019南昌网络赛G. tsy‘s number(反演 + 积性函数O(n)预处理)

    tsy's number 推式子 ∑i=1n∑j=1n∑k=1nϕ(i)ϕ(j2)ϕ(k3)ϕ(i)ϕ(j)ϕ(k)ϕ(gcd(i,j,k))我们假定j=p1k1p2k2p3p3--pnkn,有ϕ(j ...

最新文章

  1. Tableau必知必会之如何快速制作 词云(文字云)
  2. 关于li标签之间的间隔如何消除!
  3. 这 56 个代码注释让我笑吐了
  4. Linux运维 第三阶段 (二) DHCP
  5. C++拷贝构造函数(深拷贝与浅拷贝)
  6. mac 键盘映射优化配置
  7. bootstrap datetimepicker、bootstrap datepicker日期组件对范围的简单封装
  8. 运动:延伸你的美丽(图)
  9. 取消冒泡的兼容性写法
  10. Rust : utf8与unicode码
  11. svg 转换为 pdf (batik 库+fop库)
  12. java集成kettle教程(附示例代码)
  13. lambda java 排序_Java8 用Lambda表达式给List集合排序的实现
  14. 从东南亚到中东,为什么社交类产品成为游戏出海的突破口?
  15. 被Gartner评为十大安全技术的IAST是什么
  16. STL与Boost对比
  17. 如何平衡MMO游戏 ——Einsphoton
  18. 软件测试面试题【变态逻辑题】,盘点那些大厂面试必出变态逻辑题
  19. ubuntu22.04 安装ROS2
  20. 怎么关闭win10虚拟机服务器,win10系统彻底关闭退出vmware虚拟机的步骤

热门文章

  1. 视频教程-华为HCNP网络工程师【从入门到精通】自学视频[肖哥] ¥499-华为认证
  2. 【初识Netty使用Netty实现简单的客户端与服务端的通信操作Netty框架中一些重要的类以及方法的解析】
  3. 提取LOL模型并在3DMax中贴好图导入到U3D中使用
  4. 如何解决Win10系统下自带IE11无法使用IE10、IE9、IE8等在线考试报名
  5. GMV下滑归因分析-基于pest模型
  6. stata三天写论文!截面工具变量空间计量模型实战
  7. c++配置并使用bit7z加密压缩或解压7z文件
  8. CC2540开发入门
  9. 输出2到100之间的所有素数(质数)之和(c语言)
  10. codeblocks安装