浅析狄利克雷卷积

定义

狄利克雷卷积是定义在数论函数间的一种二元运算:

(fg)(n)=xy=nf(x)g(y)

也等价于下面这种形式:

(fg)(n)=dnf(d)g(nd)

性质

  1. f,h 是积性函数,则 fg 也是积性函数

  2. 狄利克雷卷积满足交换律

    (fg)(n)=xy=nf(x)g(y)=xy=ng(x)f(y)=(gf)(n)

  3. 狄利克雷卷积满足对函数加法的分配律

    (f(g+h))(n)=xy=nf(x)(g+h)(y)=xy=n(f(x)g(y)+f(x)h(y))=xy=nf(x)g(y)+xy=nf(x)h(y)=(fg)(n)+(fh)(n)

  4. 狄利克雷卷积满足结合律

    ((fg)h)(n)=(f(gh))(n)

  5. 单位函数 ϵ(n)=[n=1] 是狄利克雷卷积的单位元

    (ϵf)(n)=dn[d=1]f(nd)=f(n)

  6. 对于一个函数 f ,如果有另一个函数 g 满足 fg=ϵ ,则称 gf逆元

  7. 积性函数的逆元也是积性函数

常见的数论函数

  • 单位函数 ϵ(n)=[n=1]
  • 幂函数 idk(n)=nk ,当 k=1 时为恒等函数 id(n)=n ,当 k=0 时为常数函数 1(n)=1
  • 欧拉函数 φ(n)
  • 莫比乌斯函数 μ(n)
  • 因数个数函数 d(n)=dn1
  • 因数和函数 σ(n)=dnd

常用结论

  1. φ1=id

    (φ1)(n)=dnφ(d)

    用归纳法:

    • n=1 时, (φ1)(1)=φ(1)=1=id(1)

    • n=2 时, (φ1)(2)=φ(1)+φ(2)=2=id(2)

    • nk 时, (φ1)(n)=id(n) 都成立

      那么 n=k+1

      • n 为素数, (φ1)(n)=φ(1)+φ(n)=n=id(n)

      • n 为合数,由于 φ1 都为积性函数,所以 φ1 也是积性函数,设 n=n2×n2 那么有:

        (φ1)(n)=(φ1)(n1)(φ1)(n2)=n1n2=n=id(n)

    综上,命题得证

  2. μ1=ϵ

    (μ1)(n)=dnμ(d)

    • n1

      n=p1c1p2c2pkckn 的约数 d=p1q1p2q2pkqk ,由 μ 的定义可知:对于任意 ik ,只有 qi=0qi=1 时才会对答案产生贡献,那么有 iq1 时,产生的贡献是 (1)i ,所以原式等价于 i=0kCki(1)i=(11)k=0

    • n=1

      (μ1)(1)=μ(1)=1

    综上,(μ1)(n)=[n=1]=ϵ(n)

  3. μid=φ

    (μid)(n)=dnμ(d)nd

    与第一个命题类似地,用归纳法:

    • n=1 时, (μid)(1)=μ(1)=1=φ(1)

    • n=2 时, (μid)(2)=2μ(1)+μ(2)=1=φ(2)

    • nk 时, (μid)(n)=φ(n) 都成立

      那么 n=k+1

      • n 为素数, (μid)(n)=nμ(1)+μ(n)=n1=φ(n)

      • n 为合数,由于 μid 都为积性函数,所以 μid 也是积性函数,设 n=n2×n2 那么有:

        (μid)(n)=(μid)(n1)(μid)(n2)=φ(n1)φ(n2)=φ(n)

    综上,命题得证

  4. 11=d

    (11)(n)=dn1=d(n)

  5. id1=σ

    (id1)(n)=dnd=σ(n)

  6. 莫比乌斯反演f1=gf=gμ

    dnf(d)=g(n)f(n)=dng(d)μ(nd)

    可以用第二个结论和狄利克雷卷积的性质来证明:gμ=f1μ=f(1μ)=fϵ=f

应用

例1

  • 题目:求 i=1nj=1m[gcd(i,j)=1]

  • 分析:

    i=1nj=1m[gcd(i,j)=1]=i=1nj=1mϵ(gcd(i,j))=i=1nj=1mdgcd(i,j)μ(d)=d=1min(n,m)μ(d)i=1ndj=1md1=d=1min(n,m)μ(d)ndmd

    这样就可以预处理出 μ 的前缀和后分块处理

例2

  • 题目:求 i=1nj=1ngcd(i,j)

  • 分析:

    i=1nj=1ngcd(i,j)=i=1nj=1nid(gcd(i,j))=i=1nj=1ndgcd(i,j)φ(d)=d=1nφ(d)i=1ndj=1nd1=d=1nφ(d)nd2

    同样地,预处理出 φ 的前缀和后分块处理即可

posted @   f(k(t))  阅读(478)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示