入门到入土 | 数论函数初步
目录
建议先康康目录~
前言
内容相关:数论相关。
因为 OI 里研究的数论相关芝士大多是正整数相关,于是下面呢,没有特殊声明的就都是正整数~
基础知识
唔......这个板块大概就是回顾一下数论的基本的东西,一些简单而基础的东西就光写个标题或简单一提表示这是个前备芝士🍕罢。
整除
对于正整数 \(n,m\) ,如果存在整数 \(q\) 使得 \(n=qm\) ,则称 \(m\) 整除 \(n\) ,记作 \(m | n\) ,就称 \(m\) 是 \(n\) 的约数,\(n\) 是 \(m\) 的倍数。
GCD and LCM
是什么东西大家都知道了,简单说一条性质,下面可能要用到~
若 \(d|\rm gcd(i,j)\),则 \(d|i,d|j\)。
互质
即对于正整数 \(x,y\),\(\rm gcd(x,y)=1\)
下取整
对于实数 \(x\) ,记 \(\lfloor x \rfloor\) 为不超过 \(x\) 的最大整数。
也就是说 \(\lfloor x \rfloor\) 是满足如下关系的唯一整数:
显然,对于一个整数 \(n\) ,从 1 到 \(n\) 中 \(a\ (1 \le a \le n)\) 的倍数有 \(\lfloor \frac{n}{a} \rfloor\) 个。
在数论问题的讨论中,我们常会考虑这些数,称这些数为特殊点。
性质一
对于任意的 \(x\) 和正整数 \(a,b\) ,均有:
性质二
对于正整数 \(n\) ,考虑当 \(1 \le a \le n\) 时, \(\left\lfloor\frac{n}{a}\right\rfloor\) 的不同的的取值个数。
我们在此分类讨论此问题。
若 \(a \le \sqrt n\),则能够得到的 \(\left\lfloor\frac{n}{a}\right\rfloor\) 只有不超过 \(\sqrt n\) 种,这是显然的。
若 $ \sqrt n < a$,则显然 \(\frac{n}{a}\) 的结果小于 \(\sqrt n\),又因为 \(\left\lfloor\frac{n}{a}\right\rfloor < \frac{n}{a}\) 且前者为正整数,所以这种情况下能够得到的 \(\left\lfloor\frac{n}{a}\right\rfloor\) 也不超过 \(\sqrt n\) 种。
综上,\(\left\lfloor\frac{n}{a}\right\rfloor\) 的取值不超过 \(\sqrt n\) 种。
莉题
求
其中 \(n \le 10^{14}\)。
首先来看这个取值范围,显然 \(O(n)\) 递推的牙白的,然后我们考虑取整函数的性质。
因为对于一定范围内的 \(\left\lfloor\frac{n}{a}\right\rfloor\),其对应的 \(a\) 的取值是一个区间。
于是我们可以在 \(\left\lfloor\frac{n}{a}\right\rfloor \le \sqrt n\) 时正常按照这个核柿进行计算,然后剩下的按照上面所说的直接乘上区间长度。
而这个区间的范围应当是:
于是这道莉题就这样解决力。
调和数
定义调和数为:\(H_n = \sum\limits_{k=1}^n\ \frac{1}{k}\)
性质
由这个柿子可以煺出一个常见的复杂度:
这个复杂度在从 \(1\) 到 \(n\) 中找因数时常见。
素数
定义 \(\pi(n)\) 表示不超过 \(n\) 的素数个数,有:
推论
- \(n\) 附近的素数密度近似是 \(\dfrac{1}{\ln n}\)
- 第 \(n\) 个素数 \(P_n \sim n \ln n\)
算数基本定理
基本定理就不说了。
欧拉筛
这个我之前写过一次,应该都会罢......
数论函数
从这里正式开始第一部分力~
积性函数
设 \(f\) 是数论函数,若对于任意互质的正整数的 \(a,b\),都有 \(f(ab)=f(a)f(b)\),则称 \(f\) 是积性函数。
若去掉互质这个条件,则称 \(f\) 为完全积性函数。
性质
设 \(f\) 是积性函数,且 \(n=p_1^{\alpha1} + p_2^{\alpha2} + p_3^{\alpha3} + \cdots + p_s^{\alpha s}\) 是 \(n\) 的标准分解,则有:
于是我们在研究某个积性函数 \(f\) 时就可以转化为研究 \(f(p^\alpha)\) 的形式,也就是研究 \(f\) 在素数和素数的幂上的取值。
(研究素数的 0 次幂就可以研究 1 上的取值力!)
求值
设 \(f\) 是积性函数,求 \(f(n)\) 可以对 \(n\) 分解质因数然后计算所有的 \(f(p^\alpha)\) 乘起来。
如果要对 1 到 \(n\) 之间的每一个数求出它的 \(f\),可以使用欧拉筛线性求解。
单位函数
定义单位函数 \(\epsilon(n)\) 为:
这个 \([\cdots]\) 表示当内部的条件为真时取值为 1,否则为 0 的函数。
注意:单位函数是完全积性函数。
除数函数
定义除数函数 \(\sigma_k(n)\) 为:
也就是用来表示 \(n\) 的因子的 \(k\) 次方之和。
我们根据这个定义可以求一些特殊的东西,比如:
- \(n\) 的约数个数可以表示为 \(\sigma_0(n)\),常记为 \(d(n)\)。
- \(n\) 的约数和可以表示为 \(\sigma_1 (n)\),常记为 \(\sigma(n)\)。
注意:除数函数是积性函数。
欧拉函数
定义欧拉函数 \(\varphi(n)\) 为不超过 \(n\) 且与 \(n\) 互质的正整数的个数。
有欧拉函数的显式表达式如下:
这里的 \(p_i\) 就是 \(n\) 的质因子之一,其实这里也是将 \(n\) 标准分解了。
因此显然欧拉函数是积性函数。
性质
对于任意的 \(n\),欧拉函数具有如下的性质:
而这个性质的证明需要我们从 1 到 \(n\) 中的所有整数按照与 \(n\) 的 \(\gcd\) 来分类。
证明:
若 \(\gcd(n,i)=d\),那么 \(\gcd(\frac{n}{d},\frac{i}{d})=1\)。而又因为 \(\frac{i}{d} \le \frac{n}{d}\) 且 \(\frac{i}{d} \in N^*\),故这样的 \(i\) 有 \(\varphi(\frac{n}{d})\) 个。
我们考虑所有的 \(d|n\) 时,也就同时考虑到了所有 1 到 \(n\) 之间的所有 \(d\) ,所以就有了下面这个柿子:
证毕。
常见函数补充
-
常函数:用 1 表示,即值恒为一的常函数。
-
幂函数:定义为 \(\text{Id}=n^k,\text{Id}=\text{Id}_1\)
Dirichlet 卷积
设 \(f,g\) 是数论函数,若数论函数 \(h\) 满足:
则称 \(h\) 为 \(f\) 和 \(g\) 的 \(\text{Dirichlet}\) 卷积,记作 \(h=f*g\) 。
性质
-
单位元:单位函数 \(\epsilon\) 是 \(\text{Dirichlet}\) 卷积的单位元,即对于任意函数 \(f\),有 \(\epsilon*f=\epsilon*f=f\)。
-
\(\text{Dirichlet}\) 卷积满足交换律和结合律。
-
如果 \(f,g\) 都是积性函数,则 \(f*g\) 也是积性函数。
-
基本上所有形如 \(\sum\limits_{d|n} \cdots\) 的函数或性质都能用 \(\text{Dirichlet}\) 卷积表示,如:
- 除数函数:\(\sigma_k=1*\text{Id}_k\)
- 欧拉函数的性质:\(\text{Id}=\varphi*1\)
-
如果 \(f*1\ne 0\),则 \(f\) 有关于\(\text{Dirichlet}\) 卷积的逆元。
计算 Dirichlet 卷积
我们设 \(f,g\) 是数论函数,计算 \(f\) 和 \(g\) 的 \(\text{Dirichlet}\) 卷积在 \(n\) 处的值需要枚举 \(n\) 的所以约数。
如果要计算前 \(n\) 项的话,能够枚举 1 到 \(n\) 中每个数的倍数。
根据我们刚才调和数的相关结论,这样做的复杂度是 \(O(n\log n)\)。
然后有一道例题是 P2303 Longge 的问题 [SDOI2012] ,这道题的具体解法我发在了总之就是一堆杂题的 [# 84]。
Mobius 函数
定义 \(\text{Mobius}\) 函数 \(\mu(n)\) 定义为:
其中 \(p_i\) 是不同的质数,能看出 \(\mu(n)\) 在 \(n\) 没有平方因子时非零,因此显然 \(\mu\) 是积性函数。
PS:若 \(p_i^{\alpha_i} | n\) 其中, \(\alpha_i\ge2\),则称 \(n\) 有平方因子。
性质
用 \(\text{Dirichlet}\) 卷积表示就是:
证明
\(n=1\) 时,显然是成立的。
如果 \(n>1\),我们设 \(n\) 有 \(s\) 个不同的素因子,由于 \(\mu(d)\ne 0\) 当且仅当 \(d\) 无平方因子,
故 \(d\) 中每个素因子的指数只能是 0 或 1,这和我在最初的定义里面说的一样。
因此就有:
证毕。
Mobius 变换
设 \(f\) 是某数论函数,定义函数 \(g\) 满足
就称 \(g\) 是 \(f\) 的 \(\text{Mobius}\) 变换,\(f\) 是 \(g\) 的 \(\text{Mobius}\) 逆变换。
上面我在 \(\text{Dirichlet}\) 卷积的性质里面提到过这样的和式都能用它表示,这个也不例外,即:
Mobius 反演
\(\text{Mobius}\) 反演定理中指出柿子 \(g(n)=\sum\limits_{d|n}f(d)\) 的充要条件为:
可以通过 \(\text{Dirichlet}\) 卷积证明:
常见卷积是 \(\mu*1=\epsilon\) 和 \(\text{Id}=\mu*1\)
然后有一道例题是 P2257 YY的GCD ,这道题的具体解法我发在了总之就是一堆杂题的 [# 88]。
无平方因子数
PS:这部分不大会,爬了。
求 \(n\) 以内的无平方因子数的个数,也就是求:
对于一个素数 \(p\),那么 \(p^2\) 的倍数都会有平方因子,个数是 \(\left\lfloor\frac{n}{p^2}\right\rfloor\),这些显然不符合要求,去掉。
但是这样会去多了,比如对于两个不同的素数 \(p_1,p_2\) 时,它们的平方的乘积 \(p_1{}^2p_2{}^2\) 的倍数就被多去掉了一次(也就是被去掉了两次),我们要把他们救回来QwQ,也就是容斥原理。
而这个容斥的系数正好是 \(\text{Mobius}\) 函数,因此答案就是:
End
有点水呐呐呐呐呐呐呐呐呐。