【学习笔记】数论入门基础
积性函数与完全积性函数
\(e(n) = [n=1]\)
\(I(n) = 1\)
\(id(n) = n\)
迪利克雷卷积
记 \(h = f *g\) 表示 \(f,g\) 的迪利克雷卷积为 \(h\)
迪利克雷卷积有交换律、结合律、分配律:
性质:
- 若 \(f,g\) 均为积性函数,则 \(f * g\) 也是积性函数:暴力拆开证明
莫比乌斯反演
定义:
性质:
- \(\mu\) 是一个积性函数:暴力唯一分解
- \(\mu * I = e\) 即 \(\sum_{d|n} \mu(d) = [n=1]\)
- \(f *I = g \iff f = \mu* g\) 即 \(\sum_{d|n}f(d) = g(n) , \sum_{d|n} g(d)\mu(\frac{n}{d}) = f(n)\) 注意:不要求 \(f,g\) 为积性函数
- \(\sum_{n|d} f(d) = g(n),f(n) = \sum_{n|d}g(d)\mu(\frac{d}{n})\)
欧拉函数
性质:
- 积性函数
- \(\varphi * I = id\) 即 \(\sum_{d|n} \varphi(d) = n\)
整除分块
\(\lfloor\frac{n}{i}\rfloor\) 有 \(\sqrt{n}\) 种取值:分类讨论
部分证明(自己写的不严谨)
(1)若 \(f,g\) 为积性函数,则 \(f *g\) 也为积性函数
设 \(f* g = h\),设 \((a,b) = 1\),那么就有:
设 \(d = d_1d_2\) 且 \((d_1,d_2) = 1\),则
(2)\(\mu\) 是一个积性函数:
- \(1\) 时显然成立
- 设 \(\mu(ab)\) 且 \((a,b)=1\),因为 \((a,b) 1\) 所以 \(a,b\) 不含有除 \(1\) 外的公因数,所以当 \(a\) 不含有平方因子且 \(b\) 不含有平方因子的时候 \(ab\) 也不含有平方因子。而剩余情况就相当于一个奇偶的乘也显然可以满足条件。
(3)\(\mu * I = e\)
显然当 \(n=1\) 时成立,考虑 \(n \not= 1\) 时。
我们只需证明 \(\mu\) 中 \(1\) 与 \(-1\) 成对出现,那么即可证明。我们设 \(p\) 为 \(n\) 的最小质因子,对于含有 \(p\) 为因子的 \(d\) 我们就将 \(p\) 除掉,显然 \(\mu(d) + \mu(\frac{d}{p}) = 0\)。对于不含有 \(p\) 为因子的 \(d\) 我们将 \(p\) 乘上,显然 \(\mu(d) + \mu(dp) = 0\),因为 \(d,p\) 是 \(n\) 的约数所以若 \(d\) 中不含有 \(p\) 那么将 \(d\) 乘以 \(p\) 也不会超过 \(n\) 的范围。
(4)\(f *I = g \iff g* \mu = f\)
将第一个式子两边同时卷 \(\mu\),得:
因为迪利克雷卷积具有结合律所以:
下面只需证明 \(f * e = f\) 即可,暴力展开一下:
当 \(\frac{n}{d} = 1\) 时式子有值,其余情况均为 \(0\),此时 \(d = n\) 即 \(f(n) = f(n)\) 也就是 \(f *e = f\)
所以可以得出:
同理反过来即两边同乘 \(I\),也可以得出。
(5)\(\varphi * I = id\)
根据 \(\varphi\) 的基本定义:
来一波莫反:
就是把 \(d|i\) 给加到了 \(i\) 的上面,对于每一个 \(d\) 判断有多少个 \(i\) 满足条件。
这样我们也就证明了 \(\mu *id = \varphi\),根据(4),则可以推出 \(\varphi* I = id\)
题解
A - 公约数的和
这种题就是推式子:(为了防止初学很懵,就写了超多的文字描述)
1.考虑原式的各种限制条件给他改一改
2.也就是相当于数据范围增大然后去掉 \(i=j\) 的情况。现在问题就转化为了化简左上角这一坨。
3.\([A]\) 代表若 \(A\) 满足则为 \(1\),否则为 \(0\),\(d\) 的范围是因为要使得 \(\gcd = d\) 则 \(d\) 只能是这些取值,继续套路化简:
4.我们其实就是相当于将枚举 \(i,j\) 变成了枚举 \(\frac{i}{d},\frac{j}{d}\),很显然原式的值并不会变。下面就是非常的套路了:
5.这里就是 \(\mu\) 的性质,但是将 \(k|\gcd(i,j)\) 变成 \(k|i,k|j\),证明见下面。继续化简:
6.这里也就是将枚举 \(k\) 提前,并且将 \(\frac{i}{d},\frac{j}{d}\) 变成 \(\frac{i}{dk},\frac{j}{dk}\),这样就可以继续化简:
7.我们考虑设 \(T = dk\),然后化简就有:
8.最后面的这一坨也就是 \(\mu * id = \varphi\),所以最终可以化简为:
下面求解就直接上一个数论分块再预处理一下 \(\varphi\) 的前缀和就好了。
说明(证明):简记 \(\gcd(i,j) = (i,j)\)
3.\(d\) 的范围:因为 \(d\) 就是我们枚举的 \((i,j)\),显然这个东西的范围就是 \([1,n]\)
5.\(k\) 的范围:观察我们的后面,我们的目的是为了让 \(\lfloor \frac{n}{dk} \rfloor > 0\) 那么也就是 \(k\) 的范围就是 \([1,n]\)
5.\(k|(i,j) \iff k|i,k|j\):(暂时鸽了)
7.注意到一点我们只有 \(dk \le n\) 时我们的式子才有值,所以我们就枚举 \(T \in [1,n]\),那么能使得这个成立的 \(d,k\),显然就是我们枚举一个 \(d|T\) 然后 \(k\) 也就是 \(\frac{T}{d}\)