数论函数与莫比乌斯反演
数论函数
取整函数
定义
对于实数 \(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\) 种。
调和数
可以推出:
素数计数函数
定义&素数定理
令素数计数函数 \(\pi(n)\) 表示不超过 \(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)\) 定义为:
除数函数
定义
除数函数 \(\sigma_{k}\) 用来表示 \(n\) 的因子的 \(k\) 次方之和:
约数个数 \(\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)$$即:
证明2
可以先证明 \(f(n)=\sum_{d|n}\varphi (d)\) 为积性函数,然后再证对于质数 \(p\),有
可以通过定义与等比数列求和得出,然后结论易得
小技巧,研究一个积性函数,先研究其在质数的幂时的表现。
性质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\) 函数
莫比乌斯函数的定义:
第一次看到这个时我很懵逼,感觉这个函数不那么自然,不知道为什么有这个函数……
但实际上,它是常函数 \(1\) 的逆,即 $\mu * 1=\epsilon $。
而具体推导可以看这里。(其实好像算是一种容斥?)
而这满足了进行莫比乌斯反演的需要。
积性函数的逆:
若 \(f*g=\epsilon\),则 \(f\) 与 \(g\) 互逆。
莫比乌斯反演
现有关系:
即:
如果我们易求 \(f\),那么就可以轻松求出 \(F\),反之,若 \(F\) 易求,我们如何求出 \(f\)?
倍数的莫比乌斯反演:
若:
则:
又作:
若:
则:
起初我对这式子不是很理解,觉得不是有 \(\infty\) 项吗,怎么算?
但实际上在我们的运用过程中 \(f(d)\) 通常都是有限项的,如\(f(d)=\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=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\) 的贡献来分块求答案。
主要思想:
使用“交换合式顺序”和“改变枚举变量”来化简。
常见反演:
设 \(f(d)=\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=d]\)。
则 \(F(x)\) 易求,那么就可以反演求 \(f(d)\) 了。(当然除以 \(d\) 在利用上面的 \(gcd\) 变换的技巧也可以得到)
当然,这类题有些也可以用 \(\varphi\) 来化简,利用 \(\varphi*1=id\) 的性质,将 \(gcd\) 代换成 \(n\) 就行了。
\(\varphi\) 与 \(\mu\) 的关系:
关于 \(d(n)\) 的有力结论:
证明:
设 \(nm=\prod p_i^{x_i}\),\(n=\prod p_i^{y_i}\),则 \(m=\prod p_i^{x_i-y_i}\)。
设 \(i = p_1^{a_1}\cdot p_2^{a_2}\cdot p_3^{a_3}\cdots p_k^{a_k}\),\(j = p_1^{b_1}\cdot p_2^{b_2}\cdot p_3^{b_3}\cdots p_k^{b_k}\)。
若 \(gcd(i,j)==1\),则若 \(a_i=0\),则 \(b_i\) 有 \(x_i-y_i+1\) 种取值,若 \(b_i=0\),则 \(a_i\) 有 \(y_i+1\) 种取值,\(a_i=b_i=0\) 的情况重复了,所以一共有 \(x_i+1\) 种取值。
故右式的值为 \(\prod x_i+1\)。而这与左式的形式一致。
orz Sengxian 学长(看了一圈就他的一眼看懂了。。)。
数论分块
具体就不写了,简要记录证明思路,算了,也不写了。