一. 狄利克雷卷积
对于两个数论函数,我们定义定义狄利克雷卷积:∗
那么对于数论函数 f(x) 和 g(x) ,他们的狄利克雷卷积结果为 h(x) 定义为:
h(x)=∑d|xf(d)g(xd)
简记为
h(x)=f(x)∗g(x)
此运算满足:
- 交换律:
f∗g=g∗f
- 结合律:
(f∗g)∗h=f∗(g∗h)
- 分配律:
(f+g)∗h=f∗h+g∗h
二. 莫比乌斯反演
1.莫比乌斯函数
μ 为莫比乌斯函数, 其定义为:
μ(n)=⎧⎪⎨⎪⎩1n=1(−1)x∏xi=1ki=10max{ki}≥2
莫比乌斯函数为积性函数, 并有如下性质
μ(d)={1n=10n≠1
即 ∑d|nμ(d)=ϵ(n),μ∗1=ϵ
反演结论: [gcd(i,j)=1]=∑d|gcd(i,j)μ(d)
2.莫比乌斯变换
设 f(x) , g(x) 为两个数论函数。
形式一: 如果有 f(n)=∑d|ng(d) , 那么有 g(n)=∑d|nμ(d)f(nd)
这种形式下,数论函数 f(n) 称为数论函数 g(n) 的莫比乌斯变换,数论函数 g(n) 称为数论函数 f(n) 的莫比乌斯逆变换(反演)。
形式二: 如果有 f(n)=∑n|dg(d) ,那么有 g(n)=∑n|dμ(dn)f(d)
另附
1.常见积性函数
1(n)=1ϵ(n)=[n=1]σk(n)=∑i|nikidk(n)=nkφ(n)=n∑i[gcd(i,n)=1]μ(n)=⎧⎪⎨⎪⎩1n=1(−1)x∏xi=1ki=10max{ki}≥2
2.常见积性函数之间的变换及证明
(μ∗1)(n)=∑d|nμ(d)1(nd)=∑d|nμ(d)=[n=1]=ϵ(n)
(φ∗1)(n)=∑d|nφ(d)1(nd)=∑d|nφ(d)
考虑枚举 d 表示 1∼n 中某个数与 n 的 gcd 为 d,那么当 d∈[1,n] 时,得到的 ∑ni[gcd(i,n)=d] 的和就是 n
现在考虑如何求 ∑ni[gcd(i,n)=d],把 n 拆分成 n×nd 的形式,考虑一个满足条件的 i(i⩽n),将 i 拆分成 k×d 的形式,显然有 k⩽nd,又因为 gcd(i,n)=d,所以需要满足 k⊥nk,那么满足条件的 i 只会有 φ(nd) 个,所以容易得到
∑d|nφ(nd)=id1(n)∵∑d|nφ(nd)=∑d|nφ(d)=(φ∗1)(n)∴(φ∗1)(n)=id1(n)
设 f(d) 表示 1∼n 中与 n 的 gcd 为 d 的个数,g(d) 表示 1∼n 中与 n 的 gcd 为 d 的倍数的个数
显然有
g(d)=[d|n]nd
由莫比乌斯反演得
f(g)=∑g|dμ(dg)g(d)=∑g|d,d|nμ(dg)ndf(1)=∑d|nμ(d)nd
容易发现 f(1) 其实就是 1∼n 中与 n 互质的个数
(μ∗id1)(n)=∑d|nμ(d)1(nd)=f(1)=φ(n)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?