专栏文章

数论函数

算法·理论参与者 6已保存评论 5

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
5 条
当前快照
1 份
快照标识符
@mjzzbpis
此快照首次捕获于
2026/01/05 01:02
上个月
此快照最后确认于
2026/02/19 01:21
12 小时前
查看原文

前言

没有放代码。
你需要确保你学会了一些基础的数论知识,如线性筛、唯一分解定理。
一些定义和声明

积性函数

若函数 f(x)f(x) 满足对于 互质a,ba,b,有 f(ab)=f(a)f(b)f(ab)=f(a)f(b),则 f(x)f(x) 为积性函数。
任意a,ba,b 均满足 f(ab)=f(a)f(b)f(ab)=f(a)f(b),则 f(x)f(x) 为完全积性函数。
对于任何的积性函数 f(x)f(x) 都有 f(1)=1f(1)=1,易证。

加性函数

若函数 f(x)f(x) 满足对于 互质a,ba,b,有 f(ab)=f(a)+f(b)f(ab)=f(a)+f(b),则 f(x)f(x) 为加性函数。
任意a,ba,b 均满足 f(ab)=f(a)+f(b)f(ab)=f(a)+f(b),则 f(x)f(x) 为完全加性函数。
对于任何的加性函数 f(x)f(x) 都有 f(1)=0f(1)=0,易证。

等价性

f(x)f(x) 相当于 g(x)g(x),则可以记 f(x)g(x)f(x)\Leftrightarrow g(x),表示 f(x)f(x)g(x)g(x) 等价。

卷积

两个函数的卷积记为 (fg)(x)(f\ast g)(x),若是函数 f(x)f(x) 自卷积,也可记为 (ff)(x)=f2(x)(f\ast f)(x)=f^2(x)

符号

为书写方便,记 a/b=aba/b=\left\lfloor\dfrac{a}{b}\right\rfloor

欧拉函数

欧拉函数即 φ(n)\varphi(n),被定义为 1n1\sim n 中与 nn 互质的数的个数。
特性:
1.若 pp 是质数,则 φ(p)=p1\varphi(p)=p-1
2.若 pp 是质数,则 φ(pk)=pk1φ(p)\varphi(p^k)=p^{k-1}\varphi(p)(证明:由于 pp 是质数,则 1p1,p+12p1,,pkppk11\sim p-1,p+1\sim 2p-1,\dots,p^k-p\sim p^{k}-1 均与 pp 互质,共有 pk1p^{k-1} 节长度为 φ(p)\varphi(p) 的区间,故 φ(pk)=pk1φ(p)\varphi(p^k)=p^{k-1}\varphi(p)
3.积性函数:若 p,qp,q 互质,则有 φ(pq)=φ(p)φ(q)\varphi(pq)=\varphi(p)\varphi(q)(证明参考 剩余系的复合

筛法计算

ii 是质数,则 φ(i)=i1\varphi(i)=i-1
ii 是合数,则 ii 在线性筛中被自己的 最小质因子 筛掉。
nnii 的最小质因子,i=nmi=nm
  • nmn\mid m,则 mm 包含 ii 的所有质因子,nmk=1spk1pk=nφ(m)nm\prod_{k=1}^s\dfrac{p_k-1}{p_k}=n\varphi(m)
  • nmn\nmid m,则 n,mn,m 互质,由性质 1,3,得 φ(i)=φ(n)φ(m)=(n1)φ(m)\varphi(i)=\varphi(n)\varphi(m)=(n-1)\varphi(m)

性质

dxφ(d)=x\sum_{d\mid x}\varphi(d)=x
证明
  • x=1x=1 时,易证。
  • xx 为质数时,dd 只能为 11xx,又有 φ(1)=1,φ(x)=x1\varphi(1)=1,\varphi(x)=x-1,故 dxφ(d)=x\sum_{d\mid x}\varphi(d)=x 成立。
  • xx 为合数且不为 11 时,不妨构造 xx 个分数 1xx\dfrac{1\sim x}{x},化简后分母只有 xx 的因数,且由于分子和分母互质,所以以因数 dd 为分母的分数有且仅有 φ(d)\varphi(d) 个,又因为共有 xx 个分数,所以 dxφ(d)=x\sum_{d\mid x}\varphi(d)=x 成立。

莫比乌斯函数

根据唯一分解定理,有 x=i=1spiaix=\prod_{i=1}^s p_i^{a_i},其中 pip_i 为互不相同的质因子,ss 为质因子个数。
则有
μ(x)={1x=10i=1sais(1)sx1,i1sai=s\mu(x)=\begin{cases}1&x=1\\0&\sum_{i=1}^s a_i\not=s\\(-1)^s&x\not=1,\sum_{i-1}^s a_i=s\end{cases}
其中 i1sai=s\sum_{i-1}^s a_i=s 的条件即 xx 不含相同质因子。

筛法计算

ii 是质数,则 μ(i)=1\mu(i)=-1
ii 是合数,则 ii 在线性筛中被自己的 最小质因子 筛掉。
nnii 的最小质因子,i=nmi=nm
  • nmn\mid m,则 ii 有两个质因子 nnμ(i)=0\mu(i)=0
  • nmn\nmid m,则 iimm 多一个质因子 nnμ(i)=μ(m)\mu(i)=-\mu(m)

两个性质

性质1

dxμ(d)=[x=1]\sum_{d\mid x}\mu(d)=[x=1]
证明
  • x=1x=1 时,易证。
  • x1x\not= 1 时,根据唯一分解定理,有 x=i=1spiaix=\prod_{i=1}^s p_i^{a_i},由于在 xx 有相同质因子时 μ(x)=0\mu(x)=0,因此可以构造 x=i=1spix'=\prod_{i=1}^sp_i 使得 dxμ(d)=dxμ(d)\sum_{d\mid x}\mu(d)=\sum_{d\mid x'}\mu(d)。则:
    • 不含质因子的 dd(即 11)有 Cs0C_s^0 个,μ(d)\mu(d) 为正;
    • 含一个质因子的 ddCs1C_s^1 个,μ(d)\mu(d) 为负;
    • 含两个质因子的 ddCs2C_s^2 个,μ(d)\mu(d) 为正;
    • \dots
  • 于是 dxμ(d)=i=0s(1)sCsi\sum_{d\mid x'}\mu(d)=\sum_{i=0}^s(-1)^s C_s^i,由二项式定理,i=0s(1)sCsi=(11)s=0\sum_{i=0}^s(-1)^s C_s^i=(1-1)^s=0

性质2

dxμ(d)xd=φ(x)\sum_{d\mid x}\mu(d)\dfrac{x}{d}=\varphi(x)
证明
  • x=1x=1 时,易证。
  • x1x\not= 1 时,同上文构造 x=i=1spix'=\prod_{i=1}^sp_i 使得 dxμ(d)xd=dxμ(d)xd=xdxμ(d)d\sum_{d\mid x}\mu(d)\dfrac{x}{d}=\sum_{d\mid x'}\mu(d)\dfrac{x'}{d}=x'\sum_{d\mid x'}\dfrac{\mu(d)}{d}。又有 xdxμ(d)d=x(1(1p1+1p2+)+(1p1p2+1p2p3+))x'\sum_{d\mid x'}\dfrac{\mu(d)}{d}=x(1-(\dfrac{1}{p_1}+\dfrac{1}{p_2}+\dots)+(\dfrac{1}{p_1p_2}+\dfrac{1}{p_2p_3}+\dots)-\dots)(这步即通过 μ(d)\mu(d) 的定义判断 μ(d)d\dfrac{\mu(d)}{d} 的正负性),因式分解得 x(1(1p1+1p2+)+(1p1p2+1p2p3+))=xi=1s11pix(1-(\dfrac{1}{p_1}+\dfrac{1}{p_2}+\dots)+(\dfrac{1}{p_1p_2}+\dfrac{1}{p_2p_3}+\dots)-\dots)=x'\prod_{i=1}^s1-\dfrac{1}{p_i},即 φ(x)\varphi(x)

狄利克雷卷积

定义

对于两个 积性函数 f(x),g(x)f(x),g(x),有
(fg)(x)=dxf(d)g(xd)(f\ast g)(x)=\sum_{d\mid x} f(d)g(\dfrac{x}{d})

常见积性函数

元函数 ε(x)=[x=1]\varepsilon(x)=[x=1]
常数函数 1(x)=11(x)=1
恒等函数 id(x)=xid(x)=x

常见卷积关系

1.dxμ(d)=[x=1](μ1)(x)=ε(x)\sum_{d\mid x}\mu(d)=[x=1]\Leftrightarrow (\mu\ast 1)(x)=\varepsilon(x)
2.dxφ(d)=x(φ1)(x)=id(x)\sum_{d\mid x}\varphi(d)=x\Leftrightarrow (\varphi\ast 1)(x)=id(x)
3.dxμ(d)xd=φ(x)(μid)(x)=φ(x)\sum_{d\mid x}\mu(d)\dfrac{x}{d}=\varphi(x)\Leftrightarrow (\mu\ast id)(x)=\varphi(x)
4.对于任意积性函数 ff,有 (fε)(x)=f(x)(f\ast \varepsilon)(x)=f(x)
5.对于任意积性函数 ff,有 (f1)(x)f(x)(f\ast 1)(x)\not=f(x)
证明考虑狄利克雷卷积即可,此处省略。

和式的变换

和式即类似 kKak\sum_{k\in K} a_k 的形式的式子。
这里设 n<mn<m

替换条件式

i=1nj=1mgcd(i,j)dd=i=1nj=1md=1n[di][dj]d\sum_{i=1}^n\sum_{j=1}^m\sum_{\gcd(i,j)\mid d} d=\sum_{i=1}^n\sum_{j=1}^m\sum_{d=1}^n [d\mid i][d\mid j]d
容易理解,若 i,ji,j 均整除 dd,则 dd 至少包含 i,ji,j 的一个公因数,即 gcd(i,j)d\gcd(i,j)\mid d

替换指标变量

i=1nj=1m[gcd(i,j)=d]=id=1njd=1m[gcd(id,jd)=d]\sum_{i=1}^n\sum_{j=1}^m[\gcd(i,j)=d]=\sum_{id=1}^n\sum_{jd=1}^m [\gcd(id,jd)=d]
id=1n\sum_{id=1}^njd=1m\sum_{jd=1}^m 都是在枚举 dd 的倍数,故当 i,ji,j 互质时,gcd(id,jd)=d\gcd(id,jd)=d

交换求和顺序

i=1nj=1mF(i)G(j)=j=1mi=1nF(i)G(j)\sum_{i=1}^n\sum_{j=1}^m F(i)G(j)=\sum_{j=1}^m\sum_{i=1}^n F(i)G(j)
易证。

分离变量

i=1nj=1mF(i)G(j)=j=1mF(i)i=1nG(j)\sum_{i=1}^n\sum_{j=1}^m F(i)G(j)=\sum_{j=1}^m F(i)\sum_{i=1}^n G(j)
证明考虑乘法交换律。

莫比乌斯反演

定义

对于两个 积性函数 f(x),g(x)f(x),g(x),有
f(x)=dxg(d)g(x)=dxμ(d)f(xd)f(x)=\sum_{d\mid x} g(d)\Leftrightarrow g(x)=\sum_{d\mid x}\mu(d)f(\dfrac{x}{d})
f(x)f(x)g(x)g(x) 的莫比乌斯变换,g(x)g(x)f(x)f(x) 的莫比乌斯逆变换。

证明

f(x)=dxg(x)1(xd)=(g1)(x),g(x)=dxμ(d)f(xd)=(μf)(x)f(x)=\sum_{d\mid x}g(x)1(\dfrac{x}{d})=(g\ast 1)(x),g(x)=\sum_{d\mid x}\mu(d)f(\dfrac{x}{d})=(\mu\ast f)(x)(狄利克雷卷积)。
若左式成立,有 f(x)=(g1)(x)f(x)=(g\ast 1)(x),则 g(x)=(μf)(x)=(μg1)(x)=((μ1)g)(x)=(εg)(x)=g(x)g(x)=(\mu\ast f)(x)=(\mu\ast g\ast 1)(x)=((\mu\ast 1)\ast g)(x)=(\varepsilon\ast g)(x)=g(x),即右式也成立;
若右式成立,有 g(x)=(μf)(x)g(x)=(\mu\ast f)(x),则 f(x)=(g1)(x)=(μf1)(x)=((μ1)f)(x)=(εf)(x)=f(x)f(x)=(g\ast 1)(x)=(\mu\ast f\ast 1)(x)=((\mu\ast 1)\ast f)(x)=(\varepsilon\ast f)(x)=f(x),即左式也成立。

应用

即给定 n,mn,m,求 i=1nj=1mlcm(i,j)(mod20101009)\sum_{i=1}^n\sum_{j=1}^m \operatorname{lcm}(i,j)\pmod{20101009}
解法
开始推式子。
不妨钦定 n<mn<m
原式即 i=1nj=1mijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^m\dfrac{ij}{\gcd(i,j)},将 gcd(i,j)\gcd(i,j) 单独拎出来,得
i=1nj=1mijd=1n[gcd(i,j)=d]d\sum_{i=1}^n\sum_{j=1}^mij\sum_{d=1}^n\dfrac{[\gcd(i,j)=d]}{d}
交换求和顺序,则有 d=1ni=1nj=1mij[gcd(i,j)=d]d\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^mij\dfrac{[\gcd(i,j)=d]}{d},替换指标变量,得
d=1nid=1njd=1mijd2[gcd(id,jd)=d]d\sum_{d=1}^n\sum_{id=1}^n\sum_{jd=1}^mijd^2\dfrac{[\gcd(id,jd)=d]}{d}
idid 上限为 nn,则 ii 上限为 n/dn/djj 同理(之后统称为修改上限)得
d=1ni=1n/dj=1m/dijd[gcd(i,j)=1]\sum_{d=1}^n\sum_{i=1}^{n/d}\sum_{j=1}^{m/d}ijd[\gcd(i,j)=1]
gcd(i,j)\gcd(i,j) 代入 kxμ(x)=[x=1]\sum_{k\mid x}\mu(x)=[x=1] 中,得
kgcd(i,j)μ(gcd(i,j))=[gcd(i,j)=1]\sum_{k\mid \gcd(i,j)}\mu(\gcd(i,j))=[\gcd(i,j)=1]
代入上式,得
d=1ni=1n/dj=1m/dijdkgcd(i,j)μ(k)\sum_{d=1}^n\sum_{i=1}^{n/d}\sum_{j=1}^{m/d}ijd\sum_{k\mid \gcd(i,j)}\mu(k)
替换条件式,得
d=1ni=1n/dj=1m/dijdk=1n/dμ(k)[ki][kj]\sum_{d=1}^n\sum_{i=1}^{n/d}\sum_{j=1}^{m/d}ijd\sum_{k=1}^{n/d}\mu(k)[k\mid i][k\mid j]
交换求和顺序并分离变量,得
d=1ndk=1n/dμ(k)i=1n/di[ki]j=1m/dj[kj]\sum_{d=1}^nd\sum_{k=1}^{n/d}\mu(k)\sum_{i=1}^{n/d}i[k\mid i]\sum_{j=1}^{m/d}j[k\mid j]
替换指标变量,得
d=1ndk=1n/dμ(k)ik=1n/dikjk=1m/djk\sum_{d=1}^nd\sum_{k=1}^{n/d}\mu(k)\sum_{ik=1}^{n/d}ik\sum_{jk=1}^{m/d}jk
分离变量并修改上限,得
d=1ndk=1n/dμ(k)k2i=1n/dkij=1m/dkj\sum_{d=1}^nd\sum_{k=1}^{n/d}\mu(k)k^2\sum_{i=1}^{n/dk}i\sum_{j=1}^{m/dk}j
μ(k)\mu(k) 显然可以通过预处理线性求出,所以只用先对 dd 整除分块,然后套一个对 kk 的整除分块即可。

杜教筛

给定积性函数 f(x)f(x),求 s(n)=i=1nf(i)s(n)=\sum_{i=1}^n f(i)

解法

构造积性函数 g(x)g(x),使得 (fg)(x)(f\ast g)(x) 的前缀和容易计算。
根据递推式
g(1)s(n)=i=1n(fg)(i)i=2ng(i)s(n/i)g(1)s(n)=\sum_{i=1}^n(f\ast g)(i)-\sum_{i=2}^n g(i)s(n/i)
递归计算 s(n)s(n) 即可。
证明
下面证明递推式 g(1)s(n)=i=1n(fg)(i)i=2ng(i)s(n/i)g(1)s(n)=\sum_{i=1}^n(f\ast g)(i)-\sum_{i=2}^n g(i)s(n/i) 成立。
现在有 i=1n(fg)(i)\sum_{i=1}^n(f\ast g)(i),狄利克雷卷积得
i=1nidf(id)g(d)\sum_{i=1}^n\sum_{i\mid d}f(\dfrac{i}{d})g(d)
替换条件式得
i=1nd=1n[id]f(id)g(d)\sum_{i=1}^n\sum_{d=1}^n[i\mid d]f(\dfrac{i}{d})g(d)
交换求和顺序得
d=1ni=1n[id]f(id)g(d)\sum_{d=1}^n\sum_{i=1}^n[i\mid d]f(\dfrac{i}{d})g(d)
替换指标变量得
d=1nid=1n[idd]f(idd)g(d)\sum_{d=1}^n\sum_{id=1}^n[id\mid d]f(\dfrac{id}{d})g(d)
d=1nid=1nf(i)g(d)\sum_{d=1}^n\sum_{id=1}^n f(i)g(d)
修改上限得
d=1ni=1n/df(i)g(d)\sum_{d=1}^n\sum_{i=1}^{n/d} f(i)g(d)
分离变量得
d=1ng(d)i=1n/df(i)\sum_{d=1}^n g(d)\sum_{i=1}^{n/d} f(i)
s(n/d)=i=1n/df(i)s(n/d)=\sum_{i=1}^{n/d}f(i) 代入上式得
d=1ng(d)s(n/d)\sum_{d=1}^n g(d)s(n/d)
i=1i=1 时的项分离出来得
g(1)s(n)+i=2ng(i)s(n/i)g(1)s(n)+\sum_{i=2}^n g(i)s(n/i)
g(1)s(n)=i=1n(fg)(i)i=2ng(i)s(n/i)g(1)s(n)=\sum_{i=1}^n(f\ast g)(i)-\sum_{i=2}^n g(i)s(n/i)

优化

1.使用线性筛预处理较小的 s(n)s(n)
2.记忆化防止重复计算;
3.使用整除分块做 s(n/i)s(n/i) 的递归。

应用

(φ1)(x)=id(x)(\varphi\ast 1)(x)=id(x),注意这里 1(x)1(x) 是常数函数。
则有 s(n)=1(1)s(n)=i=1nid(i)i=2n1(i)s(n/i)=i=1nii=2ns(n/i)=(n+1)n2i=2ns(n/i)s(n)=1(1)s(n)=\sum_{i=1}^nid(i)-\sum_{i=2}^n 1(i)s(n/i)=\sum_{i=1}^n i-\sum_{i=2}^n s(n/i)=\dfrac{(n+1)n}{2}-\sum_{i=2}^n s(n/i)
(μ1)(x)=ε(x)(\mu\ast 1)(x)=\varepsilon(x)
则有 s(n)=1(1)s(n)=i=1nε(i)i=2ns(n/i)=1i=2ns(n/i)s(n)=1(1)s(n)=\sum_{i=1}^n\varepsilon(i)-\sum_{i=2}^ns(n/i)=1-\sum_{i=2}^ns(n/i)

例题

P11480

先考虑全部圣诞老人来到的情况,根据经典结论,编号为 a2a^2 的灯会被关闭。
若仅改变编号为 tt 的灯的状态,那么需要改变的灯的编号为满足 atnat\le nμ(a)0\mu(a)\not= 0atat。这样对于第 itit 盏灯,它就会被改变 di[μ(d)0]\sum_{d\mid i} [\mu(d)\not= 0] 次,由于有 diμ(d)=[i=1]\sum_{d\mid i} \mu(d)=[i=1],所以除了 tt 之外,编号为 itit 的灯都会被改变偶数次。
那么仅改变编号为 j2(j1)j^2(j\not= 1) 的灯,第 ii 盏灯就需要改变 j=2j[j2iμ(ij2)0]\sum_{j=2}^{\sqrt{j}}[j^2\mid i\land\mu(\dfrac{i}{j^2})\not= 0] 次,其中 \land 表示两边的条件需要同时成立。可以发现 j2iμ(ij2)0j^2\mid i\land\mu(\dfrac{i}{j^2})\not= 0 即要求 j2j^2ii 的因数且 ij2\dfrac{i}{j^2} 没有其它因子是完全平方数,也就是确定了唯一的 jj
于是只有在 ii 对应的 j=1j=1 时,j=2j[j2iμ(ij2)0]\sum_{j=2}^{\sqrt{j}}[j^2\mid i\land\mu(\dfrac{i}{j^2})\not= 0] 的值才为 00。因此来到的圣诞老人 ii 没有相同质因子,即 μ(i)=0\mu(i)=0,总数为 i=1nμ2(i)=i=1nμ(i)ni2\sum_{i=1}^n \mu^2(i)=\sum_{i=1}^{\sqrt{n}}\mu(i)\left\lfloor\dfrac{n}{i^2}\right\rfloor
杜教筛求解即可。

P10186

引理 1:
n2n^2 点阵中,若直线第一个穿过 (x,y)(x,y) ,则直线会穿过 n/max(x,y)n/\max(x,y) 个点。
引理 2:
若直线穿过的第一个点为 (x,y)(x,y),则 gcd(x,y)=1\gcd(x,y)=1
这两个引理比较简单,读者自证不难。
因此对角线一边的答案(另一边是镜像的)就是 i=1nj=1i1(n/max(i,j))2[gcd(i,j)=1]\sum_{i=1}^n \sum_{j=1}^{i-1} (n/\max(i,j))^2[\gcd(i,j)=1],由于 jj 的上限是 i1i-1,故 max(i,j)=i\max(i,j)=i
然后用和式的变换可以化出 i=1n(n/i)2j=1i1[gcd(i,j)=1]\sum_{i=1}^n (n/i)^2\sum_{j=1}^{i-1} [\gcd(i,j)=1] 观察到后面的 j=1i1[gcd(i,j)=1]\sum_{j=1}^{i-1} [\gcd(i,j)=1] 其实就是 φ(i)\varphi(i),因此原式就是 i=1nφ(i)(n/i)2\sum_{i=1}^n \varphi(i) (n/i)^2
对角线上有 nn 个点,贡献就是 n2n^2
于是答案就是 n2+2i=1nφ(i)(n/i)2n^2+2\sum_{i=1}^n \varphi(i) (n/i)^2n/in/i 可以整除分块,φ(i)\varphi(i) 前缀和可以用杜教筛。

一些练习题

评论

5 条评论,欢迎与作者交流。

正在加载评论...