数论知识进阶1
数论知识进阶1
一 知识整理
1 取整函数的性质
1.1对于正整数n,1到n中d的倍数有\(\lfloor\frac n d\rfloor\)个
显而易见
1.2对于任意x与正整数a,b\(\lfloor\frac {\lfloor\frac x b\rfloor} a\rfloor=\lfloor\frac x {ab}\rfloor\)
依然十分显然 考虑x/b的余数 显然的再被ab除时必不是整数
1.3对于任意正整数n,考虑考虑当 1 ≤ d ≤ n 时,⌊n/d⌋ 的不同的取值个数
若 d ≤ √n,则能得到的 ⌊n/d⌋ 只有不超过 √n 种。
若 d > √n,则 ⌊n/d⌋ ≤ n/d < √ n,又因为 ⌊n/d⌋ 是正整数,故此时 可能的取值也不超过 √n种
1.4
2 积性函数
2.1若对于正整数a,b且a|b都有f(ab)=f(a)f(b)则称f为积性函数
2.2显然的
若 f 是积性函数,且n的标准分解
则
2.3若要对 1 到 n 之间的所有数求出 f,注意到 Euler 筛法的过 程中可以求出每个数的最小素因子和最小素因子的幂次,利用此 就能在线性时间内计算出所需的 f 的值。
2.4
3 迪利克雷卷积
3.1定义单位函数
易见单位函数是积性函数
3.2定义除数函数
约数个数\(\sigma_0\)常记作d 约数和常记作 \(\sigma_1\)常记作\(\sigma\)
易见所有除数函数均为积性函数 显然利用普通卷积可证得
3.3欧拉函数\(\varphi(x)\)表示小于x且与x互质的数的个数
显然当x为素数时 \(\varphi(x)=x-1\)
利用容斥原理 发现
发现该显式表达指出了欧拉函数具有积性
一个性质:
对于任意n
证明:
若\(gcd(n,i)=d\) 则\(gcd(\frac n d,\frac i d)=1\) 故这样的i有\(\varphi(\frac n d)\) 个
考虑所有n|d就考虑了所有小于等于n的整数
故得证
3.3Dirichlet 卷积
定义两个数论函数f,g 的Dirichlet卷积为h
计作h=f*g
3.4定义幂函数\(Id_k(x)=x^k\)
一般将\(Id_1计作Id\)
3.5莫比乌斯函数
\(p_1...p_s\)是不同素数
可以看出,µ(n) 恰在 n 无平方因子时非零。
易见 µ 是积性函数。
3.6可用迪利克雷卷积表示的函数关系
3.6.1\(\epsilon_k=1*Id_k\) 显然
3.6.2\(Id=1*\varphi\) 已证明
3.6.3\(\epsilon=1*\mu\)
证明:n=1时显然成立
对于n>1 设n有s个素因子 由于莫比乌斯函数
只在d无平方因子时不为零 故只需考虑d中各素因子次数为0或1的情形
故
得证
4.莫比乌斯变换
4.1 若f是数论函数 \(g=f*1\) 则称g是f的莫比乌斯变换 f是g的莫比乌斯逆变换
4.2 \(f=g*\mu \Leftrightarrow g=f*1\)
证明
\(f=f*\epsilon=f*1*\mu=g*\mu\)
十分显然
4.3利用 Dirichlet 卷积可以解决一系列求和问题。常见做法是使用 一个 Dirichlet 卷积替 换求和式中的一部分,然后调换求和顺序, 最终降低时间复杂度。
二 一些例题
1 公约数的和
对于这类题的一个想法是枚举gcd的值 因为发现
\(gcd(n,m)=d\Leftrightarrow gcd(\frac n d,\frac m d)=1\)
这样对于枚举上界相等的情形 就可以使用欧拉函数草过去
对于枚举上界不等的情形 就可以使用\(\epsilon\)函数判\(1\)日过去
回到本题 我们枚举gcd的值然后直接计数\(\varphi(\frac n d)\)再乘回d
2 longge的问题
发现符合上述套路
我们直接\(\frac n d\)的求欧拉函数即可 然而发现此时欧拉函数并不被连续使用
可以依据封闭形式直接计算
3 YY 的 GCD
依然适用上述套路
发现单位函数可作艾弗森约定只用 若等值不为1 运用除法即可
回到原题