杜教筛

数论函数

数论函数(也称算术函数)指定义域为正整数的函数.数论函数也可以视作一个数列.

积性函数

在数论中,若函数 \(f(n)\) 满足 \(f(1)=1\),且 \(f(xy)=f(x)f(y)\) 对任意互质的 \(x, y \in\mathbf{N}^*\) 都成立,则 \(f(n)\)积性函数
在数论中,若函数 \(f(n)\) 满足 \(f(1)=1\)\(f(xy)=f(x)f(y)\) 对任意的 \(x, y \in\mathbf{N}^*\) 都成立,则 \(f(n)\)完全积性函数

对正整数 \(x\),设其唯一质因数分解为 \(x=\prod p_i^{k_i}\),其中 \(p_i\) 为质数.
\(F(x)\) 为积性函数,则有 \(F(x)=\prod F(p_i^{k_i})\)
\(F(x)\) 为完全积性函数,则有 \(F(x)=\prod F(p_i^{k_i})=\prod F(p_i)^{k_i}\)

加性函数

在数论中,若函数 \(f(n)\) 满足 \(f(1)=0\)\(f(xy)=f(x)+f(y)\) 对任意互质的 \(x, y \in\mathbf{N}^*\) 都成立,则 \(f(n)\) 为 加性函数.
在数论中,若函数 \(f(n)\) 满足 \(f(1)=0\)\(f(xy)=f(x)+f(y)\) 对任意的 \(x, y \in\mathbf{N}^*\) 都成立,则 \(f(n)\) 为 完全加性函数.

对正整数 \(x\),设其唯一质因数分解为 \(x=\prod p_i^{k_i}\),其中 \(p_i\) 为质数.
\(F(x)\) 为加性函数,则有 \(F(x)=\sum F(p_i^{k_i})\)
\(F(x)\) 为完全加性函数,则有 \(F(x)=\sum F(p_i^{k_i})=\sum F(p_i)\cdot k_i\)

常见数论函数

  • 单位函数:\(\varepsilon(n)=[n=1]\).
  • 恒等函数:\(\operatorname{id}_k(n)=n^k\)\(\operatorname{id}_{1}(n)\) 通常简记作 \(\operatorname{id}(n)\)
  • 常数函数:\(1(n)=1\)
  • 除数函数:\(\sigma_{k}(n)=\sum_{d\mid n}d^{k}\)\(\sigma_{0}(n)\) 通常简记作 \(d(n)\)\(\tau(n)\)\(\sigma_{1}(n)\) 通常简记作 \(\sigma(n)\)
  • 欧拉函数:\(\varphi(n)=\sum_{i=1}^n[\gcd(i,n)=1]\)
  • 莫比乌斯函数:\(\mu(n)=\begin{cases}1&n=1\\0&\exists d>1,d^{2}\mid n\\(-1)^{\omega(n)}&\text{otherwise}\end{cases}\),其中 \(\omega(n)\) 表示 \(n\) 的本质不同质因子个数.

上述数论函数均为积性函数;特别地,\(\varepsilon,id_k,1\) 均为完全积性函数.

数论函数的 Dirichlet 卷积

常见数论函数有如下关系:

  1. \(\varepsilon\circ f=f\)
  2. \(1\circ 1=d\)
  3. \(id\circ 1=\sigma\)
  4. \(\mu\circ 1=\varepsilon\)
  5. \(\varphi\circ 1=id\)

证明:
1,2,3 就是定义,4 参见 莫比乌斯反演,现证明 5:
\(\varphi\) 的定义,有 \(\varphi(n)=\sum_{i=1}^n[\gcd(i,n)=1]\).
化简:

\[\begin{aligned} \varphi(n) &=\sum_{i=1}^n[\gcd(i,n)=1]\\ &=\sum_{i=1}^n\sum_d[d|i][d|n]\mu(d)\\ &=\sum_{d|n}\mu(d)\sum_{i=1}^n[d|i]\\ &=\sum_{d|n}\mu(d)\frac{n}{d}\\ \end{aligned} \]

即:

\[\varphi=\mu\circ id \]

对其做一遍莫比乌斯反演:

\[\varphi\circ 1=id \]

杜教筛

杜教筛被用于处理一类数论函数的前缀和问题.对于数论函数 \(f\),杜教筛可以在低于线性时间的复杂度内计算 \(S(n)=\sum_{i=1}^{n}f(i)\)

算法内容

\[g(1)S(n)=\sum_{i=1}^n(f\circ g)(i)-\sum_{i=2}^ng(i)S(\left \lfloor \frac{n}{i} \right \rfloor ) \]

通过构造 \(g\)\(f\circ g\) 从而快速计算 \(S\).

证明:
引理 1:

\[\begin{aligned} \sum_{i=1}^n(f\circ g)(i) &=\sum_{i=1}^n\sum_{d|i}f(\frac{i}{d})g(d)\\ &=\sum_{i=1}^ng(i)\sum_{j=1}^{\left \lfloor \frac{n}{i} \right \rfloor }f(j)\\ &=\sum_{i=1}^ng(i)S(\left \lfloor \frac{n}{i} \right \rfloor )\\ \end{aligned} \]

因此有:

\[\begin{aligned} g(1)S(n) &=\sum_{i=1}^ng(i)S(\left \lfloor \frac{n}{i} \right \rfloor )-\sum_{i=2}^ng(i)S(\left \lfloor \frac{n}{i} \right \rfloor )\\ &=\sum_{i=1}^n(f\circ g)(i)-\sum_{i=2}^ng(i)S(\left \lfloor \frac{n}{i} \right \rfloor ) \end{aligned} \]

时间复杂度

例题

杜教筛

求:

\[ans_1=\sum_{i=1}^n \varphi(i) \]

\[ans_2=\sum_{i=1}^n \mu(i) \]

对于 \(\sum \varphi(i)\) 可以构造 \(\varphi \circ 1=id\).

对于 \(\sum\mu(i)\) 可以构造 \(\mu\circ 1=\varepsilon\).

神犇和韶身

求:

\[A=\sum_{i=1}^n \mu(i^2) \]

\[B=\sum_{i=1}^n\varphi(i^2) \]

\(A\) 是诈骗的,有 \(A=1\).

对于 \(B\),有 \(\varphi(i^2)=\varphi(i)\times i\),那么:

\[(\varphi\times id)\circ id=\sum_{d|n}\varphi(d)\times d\times \frac{n}{d}=n\sum_{d|n}\varphi(d)=n^2 \]

\((\varphi\times id)\circ id=id_2\).

DZY Loves Math IV

\(\sum_{i=1}^n\sum_{j=1}^m\varphi(ij)\)\(10^9+7\) 的值.

\(1\le n\le 10^5,1\le m\le 10^9\).

对于这道题,需要先知道一些关于 \(\varphi\) 的神秘式子:

\(P_x\)\(x\) 的质因子集,若 \(P_x\subseteq P_y\),则 \(\varphi(xy)=x\times\varphi(y)\).

\(\gcd(i,j)=\sum_{d|\gcd(i,j)}\varphi(d)\).

\(\varphi(ij)=\varphi(\frac{i}{\gcd(i,j)})\varphi(j)\gcd(i,j)\).

\(a\) 无平方因子,有 \(\varphi(\frac{a}{b})\times \varphi(\frac{b}{c})=\varphi(\frac{a}{c})\)

上面的式子不难用 \(\varphi\) 的公式证明.

回归本题,注意到 \(n,m\) 不同阶,因而是要枚举 \(n\),统计答案.

\(S(n,m)=\sum_{i=1}^m\varphi(ni)\),设 \(n=\prod p_i^{\alpha_i},p=\prod p_i^{\alpha_i-1},q=\prod p_i\),则有 \(pq=n\).

那么:

\[\begin{aligned} S(n,m) &=\sum_{i=1}^m\varphi(pqi)\\ &=p\sum_{i=1}^m\varphi(qi)\\ &=p\sum_{i=1}^m\varphi(\frac{q}{\gcd(q,i)})\varphi(i)\gcd(q,i)\\ &=p\sum_{i=1}^m\varphi(i)\varphi(\frac{q}{\gcd(q,i)})\sum_{d|gcd(q,i)}\varphi(\frac{\gcd(q,i)}{d})\\ &=p\sum_{i=1}^m\varphi(i)\sum_{d|gcd(q,i)}\varphi(\frac{q}{\gcd(q,i)})\varphi(\frac{\gcd(q,i)}{d})\\ &=p\sum_{i=1}^m\varphi(i)\sum_{d|q,d|i}\varphi(\frac{q}{d})\\ &=p\sum_{d|q}\varphi(\frac{q}{d})\sum_{i=1}^m[d|i]\varphi(i)\\ &=p\sum_{d|q}\varphi(\frac{q}{d})\sum_{i=1}^{\left \lfloor\frac{m}{d}\right \rfloor}\varphi(di)\\ &=p\sum_{d|q}\varphi(\frac{q}{d})S(d,\left \lfloor\frac{m}{d}\right \rfloor) \end{aligned} \]

以此计算,时间复杂度的分析与杜教筛的分析是相同的.

边界条件为:\(n=1\) 时,调用 \(\sum_{i=1}^n\varphi(i)\)\(m=0\) 时,返回 \(0\).

posted @ 2026-05-03 21:19  zhoumengxuan  阅读(2)  评论(0)    收藏  举报