十四亿分之一,很高兴遇见你。|

园龄:粉丝:关注:

2025-02-09 10:06阅读: 2评论: 0推荐: 0

数论 Part : Dirichlet 卷积 & 莫比乌斯反演 & 杜教筛

-1 前言

-1.0 日志

24.08.24:启动本文企划,正式着笔。

25.02.07: 鸽了 4 months 回来补完杜教筛。

-1.1 本文记号说明

本文使用 表示乘号, 表示卷积,P 表示质数集。

0 基础函数科技

  1. 单位函数 1(x)=1
  2. 幂函数 idk(x)=xk
  3. 恒等函数(幂函数的一种) id(x)=x
  4. 单位元函数 ϵ(x)=[x=1]
  5. 欧拉函数 φ(x)=i=1x[gcd(i,x)=1]
  6. 莫比乌斯函数 μ(x)={1,x=1,0,x 具有平方质因子,(1)k,k为不同质因子个数.
  7. 约数幂函数 σk(x)=d|xdk
  8. 约数个数函数 d(x)=σ0(x)=d|x1
  9. 约数和函数 σ(x)=d|xd

1 Dirichlet 卷积

1.0 定义

两个数论函数 f(x)g(x)Dirichlet 卷积定义为:

h(x)=(fg)(x)=d|nf(d)g(nd)=ij=nf(i)g(j).

后者形式通常用于证明某些命题。

1.1 性质

  1. 交换律:fg=gf,显而易见的,读者自证不难。
  2. 结合律:f(gh)=(fg)h。下文给出证明。
  3. 分配律:(f+g)h=fh+gh,读者自证不难。
  4. 两个积性函数的卷积仍是积性函数。

性质二的证明:

(f(gh))(n)=i|n(f(i)j|nig(j)h(nij))=ijk=nf(i)g(j)h(k).

可发现任意的顺序运算最终结果均为此。

1.2 代数结构

若用 F 表示数论积性函数集,则由她和 Dirichlet 卷积构成的代数结构 (F,) 是一个阿贝尔群。

  1. 封闭性:两个数论函数的 Dirichlet 卷积显然仍是一个数论函数。
  2. 单位元:该群的单位元是 ϵ,即任意数论函数 f(x) 都有 fϵ=f
  3. 结合律:于 1.1 节已证。
  4. 逆元:对于一个数论积性函数 f,满足 fg=ϵ 的函数 g 称之为 fDirichlet 逆,记作 f1。可以证明,任意积性数论函数均有其逆元。
  5. 交换律:于 1.1 节已证。

莫比乌斯函数除了 0 节的第二定义以外,它的第一定义为 μ=e1,即莫比乌斯函数是单位函数的 Dirichlet 逆。可以得到 d|nμ(d)=[n=1]

1.3 基础函数的 Dirichlet 卷积

  1. ϵf=f。由 1.2 节已证。
  2. id1=σ。证明见下文。
  3. 11=d。证明见下文。
  4. 1φ=id。证明见下文。
  5. μid=φ。证明见下文。

对上述第二点的证明:

(id1)(n)=d|nid(d)1(nd)=d|nd=σ(n).

对上述第三点的证明:

(11)(n)=d|n1(d)1(nd)=d|n1=d(n).

对上述第四点的证明:要证它,即证 ϕ(n)=d|nφ(d)=n

  1. n=1 时,等式显然成立。
  2. nP 时,等式左边为 φ(1)+φ(n)=1+n1=n,等式成立。
  3. n=pα,pP,αN 时,等式左边等于 i=0αφ(pi)=1+i=1αpipi1=pαpα1+pα1pα2++p1p0+1=pα=n,等式成立。
  4. n=i=1mpiαi,piP,αiN 时,由 Dirichlet 卷积的性质三,ϕ(n) 也是一个积性函数,则 ϕ(n)=i=1mϕ(piαi)=i=1npiαi=n
  5. 证毕。

对上述第五点的证明:根据第四点,等式两边同卷积 μμ1φ=idμ,因为 μ1 互为逆元,所以 φ=idμ,得证。

2 莫比乌斯反演

定理:对于两个数论函数 f(x)g(x),若 f(n)=d|ng(n),则 g(n)=d|nμ(d)f(nd),此时称 fg 的莫比乌斯变换,gf 的莫比乌斯反演。

证明:使用 Dirichlet 卷积。容易发现,f=g1,所以将两边同时卷积一个莫比乌斯函数 μ,可以得到 fμ=g1μ,由于 μ 是单位函数 1Dirichlet 逆,则 fμ=g,得证。

P2522 [HAOI2011] Problem B

根据容斥原理,题目所求和式可以化为四个如下前缀和式的和差,所以只需考虑该和式如何求解。

i=1nj=1m[gcd(i,j)=k].

由于若 k | ik | jgcd(i,j)=gcd(ik,jk),所以原和式等于如下:

i=1nj=1m[gcd(i,j)=k]=i=1nkj=1mk[gcd(i,j)=1]=i=1nkj=1mkϵ(gcd(i,j))

根据 μ(n) 的性质可以继续得到:

i=1nkj=1mdϵ(gcd(i,j))=i=1nkj=1mkd | gcd(i,j)μ(d)=d=1min(n,m)μ(d)i=1n[d | i]j=1m[d | j]=d=1min(n,m)nkdmkd.

然后配合数论分块食用,附赠小食 - 数论分块

3 杜教筛

杜教筛是一种用于求解积性函数前缀和的思想,亚线性复杂度。

我们要求一个积性函数 f(x) 的前缀和,记 S(n)=i=1nf(i)

考虑构造两个函数 g,h 使得 h=gf。那么有:

i=1nh(i)=i=1ndig(d)f(id)=d=1ng(d)i=1ndf(i)=d=1ng(d)S(nd).

考虑提出求和式的第一项 g(1)S(n) 得到,移项得到(此即为杜教筛核心式子):

g(1)S(n)=i=1nh(i)d=2ng(d)S(nd).

然后便可以递归求解。所以我们选取的 h 需要便于计算其前缀和,g 要便于求值。我们可以先线性筛出一部分的 f,并求出 S,然后递归求解较大的 S,其中可以用哈希表记忆化存储。

如求 μ 的前缀和那么选取 1μ=ϵ,则带入核心式子得到:

Sμ(n)=1d=2nSμ(nd).

对于 φ 则选取 1φ=id,代入:

Sφ(n)=i=1nid=2nSφ(nd).

时间复杂度我不会证明,太菜了 /ll。是 O(n2/3) 的。

4 后记

鸽了。

本文作者:LaDeX

本文链接:https://www.cnblogs.com/LaDeX-Blog/p/18705783/Dirichlet-Sieve-Mu

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   LaDeX  阅读(2)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起