「笔记」数学乱记
Updated on 2020.8.7
想了想把积性函数一系列内容引用的挺多的。
独立出去了。
Updated on 2020.8.8
留了两个大坑:二次剩余,类欧几里得算法。
跑路了!
写在前面
黑历史 数论知识整理。
当时还觉得自己挺 nb,现在一看写的就跟收纳胶囊一样。
但一些简单知识还是能看的,这里就不再整理了。
扩展欧拉定理
模 \(p\) 意义下,对于 \(a^b\),有如下性质。
不必保证 \((a,p) = 1\)。
题目
P5091 【模板】扩展欧拉定理
P4139 上帝与集合的正确用法
\(a\pmod m\) 的阶
若 \((a,m) = 1\),记 \(x\) 为最小的正整数,使得 \(a^x \equiv 1 \pmod m\),称 \(x\) 为 \(a\) 关于模 \(m\) 的阶,记为 \(\operatorname{ord}_{m}a\)。
有 \(\operatorname{ord}_{m}a\mid \varphi(m)\),反证法略证:
设 \(t\nmid \varphi(m)\),\(t\) 为最小的 满足 \(a^{t} \equiv 1\pmod m\) 的正整数。
则有:\(\varphi(m) = qt+r (1\le r<t)\),
且有 \(a^m = a^{qt+r} \equiv 1 \pmod m\) 成立。
则: \(a^{r} \equiv 1\pmod m\)。
又 \(r< t\),与已知矛盾,故结论不成立。
求阶方法:
- 预处理 \(\varphi (m)\) 的所有因子,从大到小枚举检查。
单次检查复杂度 \(O(\log \varphi(m))\) ,但因子的个数会比较恐怖,总复杂度并不优秀。 - 发现 \(x\) 为满足 \(a^x \equiv 1 \pmod m\) 的 \(\varphi(m)\) 的最小因子。
设 \(x\) 初始值为 \(\varphi(m)\),考虑枚举 \(\varphi(m)\) 的所有质因子试除。
若满足 \(a^{\frac{x}{p}} \equiv 1\),则 \(x = \frac{x}{p}\)。最后的 \(x\) 即为答案。
复杂度 \(O(k\log \varphi(m))\),\(k\) 为 \(\varphi(m)\) 的质因子个数。
原根
若 \((g,m) = 1\),且 \(\operatorname{ord}_{m} g = \varphi (m)\),则称 \(g\) 为 \(m\) 的一个原根。
\(g\) 为 \(m\) 的一个原根 当且仅当 \(\{g^0,g^1,\cdots g^{\varphi(m)-1} \pmod m\}\) 内元素均不同,构成了模 \(m\) 的简化剩余系。
若 \(m\) 存在原根,则 \(m=1,2,4,\cdots p^a,2p^a\) (\(p\) 为奇素数,\(a\in \mathbf{N}^+\)) 。
检验原根
设 \(p_1,p_2,\cdots ,p_k\) 为 \(\varphi(m)\) 的所有不同的质因子。
对于 满足 \((g,m)=1\) 的正整数 \(g\),\(g\) 是 \(m\) 的原根,当且仅当对任意 \(1\le i\le k\),都有 \(g^{\dfrac{\varphi(m)}{p_i}}\not\equiv 1 \pmod m\)。
需要枚举质因子 + 快速幂,单次检验复杂度为 \(O(\log^2 )\) 级别。
略证:
若 \(g\) 不是 \(m\) 的原根,则 \(\operatorname{ord}_{m}g< \varphi (m)\)。
又 \(\operatorname{ord}_{m}g \mid \varphi(m)\),考虑枚举 \(\varphi(m)\) 的约数进行检验。
显然,\(\left\{\dfrac{\varphi(m)}{p_i}\right\}\) 中包含了 \(\varphi(m)\) 所有约数的倍数。
通过检验 \(g^{\frac{\varphi(m)}{p_i}}\) 则可判断 \(\operatorname{ord}_m g<\varphi(m)\) 是否成立。
求原根:
原根密度很大,大约是 \(n^{0.25}\)。
- 可从 2 开始枚举 \(g\),并进行检验,可找到最小的原根。
- 直接随机一个数并进行检验。
复杂度均约为 \(O(n^{0.25})\)。
原根有什么用
NTT!虽然还不会
指数方程
形如下列形式的方程:
求解方法 BSGS。
二次剩余
对于一个数 \(a\),若 \(a\) 不是 \(p\) 的倍数且模 \(p\) 同余于某个数的平方,则称 \(a\) 为模 \(p\) 的二次剩余。
一个不是 \(p\) 的倍数的数 \(a\),不同余于任何数的平方,称其为模 \(p\) 的 非二次剩余 。
对二次剩余求解,即对常数 \(a\) 解下列方程:
可以认为是求模意义下的开方。
咕咕咕了,详见: oi-wiki
组合数取模
详见:组合数取模。
积性函数
若\(\gcd(x,y) = 1\)且 \(f(xy)=f(x)f(y)\), 则\(f(n)\)为积性函数。
性质,举例详见:积性函数。
莫比乌斯函数
\(\mu\) 为莫比乌斯函数,定义为
性质,补充性质详见:莫比乌斯函数。
狄利克雷(Dirichlet)卷积
定义两个数论函数 \(f,g\) 的狄利克雷卷积为
建议阅读 算法学习笔记(35): 狄利克雷卷积 By: Pecco。
性质,举例详见:狄利克雷卷积。
反演
给定数列 \(f_i, g_i\),存在:
\[g_n = \sum_{i=0}^{n}a_{n,i}f_i \]这里使用 \(f\) 推出了 \(g\),反演的过程就是使用 \(g\) 推出 \(f\)。
也就是找到系数数组 \(b\),使得:\[f_n=\sum_{i=0}^{n}b_{n,i}g_i \]引用自学长 fastle 的课件。
详见:反演。
杜教筛
可在低于线性时间的复杂度内 处理数论函数的前缀和。
详见:杜教筛。
类欧几里得算法
写在最后
参考资料:
算法学习笔记(35): 狄利克雷卷积 By: Pecco。
杜教筛 - pengym。
oi-wiki。
交响辉针城来了 /se
ddcsb
最新一话醉蝶华观后感:
弱受灵梦可爱!
文文可爱!