数论函数
取整函数
定义
对于实数 \(x\),记 \(?x?\) 为不超过 \(x\) 的最大整数。
\(\lfloor x \rfloor\) 也是满足如下关系的唯一整数:
\(\lfloor x \rfloor ≤x<\lfloor x \rfloor+1\)
对于正整数 \(n\),\(1\) 到 \(n\) 中 \(d\) 的倍数有 \(?\frac{n}{d}?\) 个
性质1
对于任意的 \(x\) 与正整数 \(a\),\(b\),我们均有:
\[
??\frac{x}{a}?/b? = ?\frac{x}{ab}?
\]
性质2
\(?\frac{n}{d}?\) 可能的取值不超过 2√n 种。
证明
对于正整数 \(n\),考虑当 \(1≤d≤n\) 时,\(?\frac{n}{d}?\) 的不同的取值个数。
若 \(d≤\sqrt n\),则能得到的 \(?\frac{n}{d}?\) 只有不超过 \(\sqrt n\) 种。
若 \(d>\sqrt n\),则 \(?\frac{n}{d}?≤\frac{n}{d}<\sqrt n\),又因为 \(?\frac{n}{d}?\)是正整数,故此时
可能的取值也不超过 \(\sqrt n\) 种。
综上,\(?\frac{n}{d}?\) 可能的取值不超过 \(2\sqrt n\) 种。
调和数
\[
\begin{align}
&H_{n}=\sum_{k=1}^{n}\frac{1}{k}\&=\ln n+\gamma+o(1)
\end{align}
\]
可以推出:
\[
\begin{align}
\sum_{d=1}^{n}\lfloor \frac{n}{d} \rfloor=\Theta(n logn)
\end{align}
\]
素数计数函数
定义&素数定理
令素数计数函数 \(\pi(n)\) 表示不超过 \(n\) 的素数个数。我们有如下的素数定理:
\[
\pi(n)\sim\frac{n}{\ln n}
\]
推论:
\(n\) 附近的素数密度近似是 \(\frac{1}{\ln n}\) 。
第 \(n\) 个素数 \(p_{n}\sim n \ln n\) 。
积性函数
定义
设 \(f\) 是数论函数,若对任意互质的正整数 \(a, b\) ,都有 \(f(ab) = f(a)f(b)\) ,则称 $f $ 是积性函数。
若对任意的正整数 \(a, b\) ,都有 \(f(ab) = f(a)f(b)\) ,则称 $ f $ 是完全积性的。
单位函数
定义
单位函数 \(\epsilon (n)\) 定义为:
\[
\begin{align}
\epsilon(n)=[n=1]=\left\{
\begin{matrix}
&1,n=1;\\
&0,n\neq1.
\end{matrix}\right.
\end{align}
\]
除数函数
定义
除数函数 \(\sigma_{k}\) 用来表示 \(n\) 的因子的 \(k\) 次方之和:
\[
\begin{align}
\sigma_{k}(n)=\sum_{d|n}d^{k}
\end{align}
\]
约数个数 \(\sigma_{0}(n)\) 常记为 \(d(n)\) ,约数和 \(\sigma_{1}(n)\) 常记为 \(\sigma(n)\) 。
除数函数都是积性函数。
\(Euler\) 函数
定义:
\(Euler\) 函数 \(φ(n)\) 表示不超过 \(n\) 且与 \(n\) 互质的正整数的个数。
由 \(n\) 的标准分解并结合容斥原理,我们可以得到 \(Euler\) 函数的表达式:\[\varphi(n)=n\cdot\prod_{i=1}^{s}(1-\frac{1}{p_{i}})\]
其中 \(n = p_{1}^{\alpha_1}p_{2}^{\alpha_2} · · · p_{s}^{\alpha_s}\) 是 \(n\) 的标准分解。
由此易见 \(Euler\) 函数是积性函数。
性质1
对于任意 $ n\(,\)Euler$ 函数有如下性质:
\[n=\sum_{d|n}\varphi(d)\]
证明1
将 \(1\) 到 \(n\) 中的所有整数按与 \(n\) 的最大公约数分类。
若 \(gcd(n, i) = d\),那么 \(gcd(\frac{n}{d} , \frac{i}{d} ) = 1\) 。而又 \(\frac{i}{d}\) 是不超过 \(\frac{n}{d}\) 的整数,故这样的 \(i\) 有 \(φ(\frac{n}{d})\) 个。
考虑所有 \(d | n\),我们也就考虑到了所有 \(1\) 到 \(n\) 之间的 \(n\) 个整数,因此有\[n=\sum_{d|n}\varphi(\frac{n}{d})=\sum_{d|n}\varphi(d)\]即:
\[
Id=\varphi *1
\]
证明2
可以先证明 \(f(n)=\sum_{d|n}\varphi (d)\) 为积性函数,然后再证对于质数 \(p\),有
\[
f(p^c)=\sum_{d|p^c}\varphi(d)=\varphi(1)+\varphi(p)+\varphi(p^2)+...+\varphi(p^{c-1})=p^c
\]
可以通过定义与等比数列求和得出,然后结论易得
小技巧,研究一个积性函数,先研究其在质数的幂时的表现。
性质2
\(p|n\) ,则 \(\varphi(np)=\varphi(n)p\)。
使用时有:
\(\varphi(p^k)=(p-1)p^{(k-1)}\)
代码中:
phi[t]=phi[i]*(i%p[j]?p[j]-1:p[j]);
\(Mobius\) 函数
莫比乌斯函数的定义:
\[
\mu(n)=
\begin{aligned}
&1 && n=1 \&0 && 有完全平方因子 \&(-1)^p && 是p个不同素因子积\\end{aligned}
\]
第一次看到这个时我很懵逼,感觉这个函数不那么自然,不知道为什么有这个函数……
但实际上,它是常函数 \(1\) 的逆,即 $\mu * 1=\epsilon $。
而具体推导可以看这里。(其实好像算是一种容斥?)
而这满足了进行莫比乌斯反演的需要。
积性函数的逆:
若 \(f*g=\epsilon\),则 \(f\) 与 \(g\) 互逆。
莫比乌斯反演
现有关系:
\[
\begin{align}
F(n)=\sum_{d|n}f(d)
\end{align}
\]
即:
\[
F=f*1
\]
如果我们易求 \(f\),那么就可以轻松求出 \(F\),反之,若 \(F\) 易求,我们如何求出 \(f\)?
\[
F*\mu=f*1*\mu=f*\epsilon=f
\]
倍数的莫比乌斯反演:
若:
\[
F(n)=\sum_{n|d}f(d)
\]
则:
\[
f(n)=\sum_{n|d}\mu(d/n)F(d)
\]
又作:
若:
\[
F(n)=\sum_{k=1}^{\infty}f(kn)
\]
则:
\[
f(n)=\sum_{k=1}^{\infty}\mu(k)f(kn)
\]
技巧:
\[
[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\mu(d)
\]
证明:
由 \(\mu * 1=\epsilon\),
即 \(\sum_{d|n}\mu(d)=[n=1]\),
将 \(n\) 替换成 \(gcd(i,j)\) 就是上式了。
然后 \(d|gcd(x,y)\) 可以转化为 \(d|x,d|y\),
然后经常可以枚举 \(d\) 来根据 \(i\),\(j\) 的贡献来分块求答案。
主要思想:
使用“交换合式顺序”和“改变枚举变量”来化简。
数论分块
具体就不写了,简要记录证明思路,算了,也不写了。
题目及更多技巧等会写
原文地址:https://www.cnblogs.com/Hikigaya/p/11616447.html