数论函数相关
一、欧拉函数与积性函数
欧拉函数
-
定义:欧拉函数 \(φ(n)\) 表示小于等于 \(n\),且与 \(n\) 互质的正整数的个数。
-
公式:
若在算数基本定理中,\(n=p_1^{c_1}p_2^{c_2}...p_m^{c_m}\)(\(p\) 为质数),则由容斥原理:\[φ(n)=n*\dfrac{p_1-1}{p_1}*\dfrac{p_2-2}{p_2}*...*\dfrac{p_m-m}{p_m}=n*\prod\limits_{p\mid{n}}{(1-\dfrac{1}{p})}\qquad(p \in primes) \]关于此公式的证明,读者可自行推导
一些性质
-
若 \(n\) 是质数,则 \(φ(n)=n-1\)
-
若 \(n=p^k\),且 \(p\) 为质数,则 \(φ(n)=(p-1)*p^{k-1}\)
-
若 \(p\) 是质数,且 \(\begin{cases}p\mid{n}&\Rightarrowφ(nq)=φ(n)*q\\p\nmid{n}&\Rightarrowφ(nq)=φ(n)*(q-1)\end{cases}\)
-
\(n=\sum\limits_{d\mid{n}}{φ(d)}\)
-
\(φ(ab)=φ(a)*φ(b)*\frac{d}{φ(d)}\),其中 \(d=\gcd(a,b)\)
积性函数
若一个定义在正整数域上的函数 \(f\),当 \(x,y\) 互质时,有 \(f(xy)=f(x)*f(y)\),则称函数 \(f\) 是积性函数
特别地,当 \(x,y\) 不互质时仍有 \(f(xy)=f(x)*f(y)\) 的函数称为完全积性函数
常见完全积性函数:
- \(ϵ(n)=[n=1]\)
- \(I(n)=1\)
- \(id_k(n)=n^k\)
常见积性函数
- 欧拉函数 \(\varphi(n)\)
- 莫比乌斯函数 \(\mu=I^{-1}\)
- 除数函数 \(\sigma_k(n)=\sum\limits_{d\mid n}d^k\)
- 除数函数 \(d(n)=\) \(n\) 的约数个数
- \(s(n)=n\) 所有约数的和
一些乘积结论
-
\(\mu(ij)=[i\perp j]\mu(i)\mu(j)\)
-
\(φ(ab)=φ(a)*φ(b)*\frac{d}{φ(\gcd(a,b))}\)
-
\(d(ij)=\sum\limits_{x|i}\sum\limits_{y|j}[x\perp y]\)
-
\(\sigma_k(ij)=\sum\limits_{x|i}\sum\limits_{y|j}[x\perp y](\frac{xj}{y})^k\)
除数函数的计算
对于 \(n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}\),有:
-
\(d(n)=(c_1+1)(c_2+1)\dots(c_m+1)\)
记 \(p\) 为 \(n\) 的最小质因子,有:
\[d(n)=\begin{cases}2d(n/p)-d(n/p^2)&p^2\mid n\\2d(n/p)&\rm otherwise\end{cases} \] -
\(\sigma_k(n)=\prod\limits_{i=1}^m(1+p_i+p_i^2+\dots+p_i^{c_i})\)
二、狄利克雷卷积
两个数论函数 \(f(x),g(x)\),则它们的 狄利克雷卷积 得到的结果 \(h(x)\) 定义为:
一些其它定义
-
单位元:\(ε(n)=[n=1]\)。对于任何数论函数 \(f\),都有 \(f*\varepsilon=f\)
-
\(I(n)=1\)
-
\(id(n)=n\)
性质
-
满足交换律、结合律、分配律
-
积性:两个积性函数的狄利克雷卷积仍然是积性函数。积性函数的逆仍是积性函数
常见结论
-
\(\mu * I=ε\)
-
\(\varphi *I=id\)
-
\(id * \mu =\varphi\)
三、莫比乌斯函数
将 \(I\) 的狄利克雷卷积逆元记为 \(\mu\),称作莫比乌斯函数
设正整数 \(n\) 按算数基本定理分解质因数为 \(n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}\),则
特别地,\(\mu(1)=1\)
性质
- 根据“积性函数的逆也是积性函数”可得:莫比乌斯函数是积性函数
整除分块
整除分块是用于解决整除求和问题 \(\sum\limits_{i=1}^n{\left\lfloor\frac{n}{i}\right\rfloor}\)
-
将 \(\left\lfloor\frac{n}{i}\right\rfloor\) 按相同值分块
-
可以证明,分块少于 \(2\sqrt{n}\) 种
for(LL l=1,r; l<=n; l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
莫比乌斯反演
反演动机:
设 \(f(n),g(n)\) 为两个数论函数。
-
如果有 \(f(n)=\sum\limits_{d\mid n}g(d)\),那么有
\[g(n)=\sum\limits_{d\mid n}\mu(d)f(\frac{n}{d}) \]证明:容易看出,数论函数 \(g(n)\) 的莫比乌斯变换,就是将\(g(n)\) 与 \(1\) 进行狄利克雷卷积。
\(\because f=g*I\)
\(\therefore f*\mu=g*I*\mu=g*ε=g\) -
如果有 \(f(n)=\sum\limits_{n|d}g(d)\),那么有
\[g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d) \]证明:考虑逆推:
\(\quad \sum\limits_{n|d}{\mu(\frac{d}{n})f(d)}\)
\(=\sum\limits_{k=1}{\mu(k)f(kn)}\)
\(= \sum\limits_{k=1}{\mu(k)\sum\limits_{kn|d}{g(d)}}\)
\(=\sum\limits_{n|d}{g(d)\sum\limits_{k|\frac{d}{n}}{\mu(k)}}\)
\(= \sum\limits_{n|d}{g(d)\epsilon(\frac{d}{n})}\)
\(=g(n)\)
整除差分
一个黑科技
快进到式子:
如果对每个 \(k\) 分别使用整除分块,复杂度 \(O(n\sqrt{n})\),无法通过
注意到 \(\left\lfloor k/d\right\rfloor\ne \left\lfloor (k-1)/d\right\rfloor\Leftrightarrow d\mid k\),且此时 \(\left\lfloor k/d\right\rfloor=\left\lfloor (k-1)/d\right\rfloor+1\)
对答案差分,有:
线性筛出 \(id_k\) 后,记 \(h(n)=n^k-(n-1)^k\),则 \(\Delta ans=h*\mu\),时间复杂度 \(O(n\log n)\)
四、杜教筛
假设我们先现在希望求出函数 \(f\) 在 \(n\) 处的前缀和 \(s(n)=\sum\limits_{i=1}^nf(i)\),我们构造另一个数论函数 \(g\),设 \(h=f*g\),则
若 \(g,h\) 的前缀和可快速求出,我们就得到了 \(s(n)\) 关于其所有整除值处取值的递推式,即
一般 \(f,g\) 均为积性函数,因此 \(g(1)=1\),公式又写为
一般预处理 \(f\) 及其前缀和到 \(n^{\frac{2}{3}}\) 处,复杂度优化为 \(\mathcal{O}(n^{\frac{2}{3}})\)。
P4213 【模板】杜教筛
题意:求 \(\sum \varphi(i)\) 和 \(\sum \mu(i)\),\(n\leq 2^{31}\)。
对于 \(f=\varphi\),构造 \(g=1\),\(f*g=id\)。
对于 \(f=\mu\),构造 \(g=1\),\(f*g=\epsilon\)。
P3768 简单的数学题
发现自己欧拉反演和莫比乌斯反演都学的依托……
对 \(\gcd(i,j)\) 作欧拉反演得 \(\gcd(i,j)=\sum\limits_{d\mid \gcd(i,j)}{\varphi(d)}\)。
所以原式
后面那坨可以直接计算,对它整除分块,只需快速求出前面那坨的前缀和。
设 \(f=\varphi\times id^2\),构造 \(g=id^2\),那 \(f*g=id^3\),可以使用杜教筛。时间复杂度大约 \(\mathcal{O}(n^{\frac{2}{3}})\)。
P6055 [RC-02] GCD
题意:求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{p=1}^{\left\lfloor{\frac{n}{j}}\right\rfloor}\sum\limits_{q=1}^{\left\lfloor{\frac{n}{j}}\right\rfloor}[\gcd(i,j)=1][\gcd(p,q)=1]\)
\(n\leq 2\times 10^9\)。
有点厉害的题目。
推式子推不出来。于是观察一下原式。
于是惊人的发现 \(j\) 就是在枚举 \(\gcd(p,q)\)。
于是化为
杜教筛即可。
五、贝尔级数
-
定义:对于积性函数 \(f\),定义其在质数 \(p\) 意义下的贝尔级数为
\[\mathcal{F}_p(x)=\sum\limits_{i=0}^{+\infty}f(p^i)x^i \] -
定理:两个数论函数相狄利克雷卷积,其贝尔级数相乘。
较复杂的贝尔级数
-
\(id_k\rightarrow\dfrac{1}{1-p^kx}\)
-
\(\mu^2\rightarrow 1+x\)
-
\(d\rightarrow \dfrac{1}{(1-x)^2}\)(相当于 \(d=I*I\))
-
\(\sigma_k\rightarrow \dfrac{1}{(1-x)(1-p^kx)}\)(相当于 \(\sigma_k=I*id_k\))
-
\(\varphi\rightarrow \dfrac{1-x}{1-px}\)

浙公网安备 33010602011771号