同余数论
数论:同余相关
1. 基本定义与记号
- 剩余类:模
同余的所有数构成的等价类被称为模 的剩余系。模 余 的剩余类记作 。 - 完全剩余系:从
个模 剩余系中各选一个数 ,他们构成模 的完全剩余系。 - 简化剩余系:从与
互质的剩余类中各选一个数 , ,简化剩余系又被称为 既约剩余系 或 缩系。 - 质因子次数符号
。 - 各位数字之和符号
表示 在 进制下各位数字之和。
2.费马小定理
引理:当
当
进一步,考虑
因此,
该结论称为 费马小定理,适用于
3. 线性求逆元
1.求连续自然数的逆元
设
左右同乘以
inv[1] = 1;
for(int i = 2; i < p; ++ i)
inv[i] = (p - p / i) * inv[p % i] % p;
2.求连续阶乘的逆元
因此需要先
3.求任意n个数的逆元
与连续阶乘类似,先计算
4. 威尔逊定理
引理:
证明:使用平方差公式:
由于乘法逆元成对存在,这启发我们思考,
这说明了威尔逊定理:
拓展:
用于 exLucas。
5.Legendre公式
问题:求
特别的,当
6.Kummer定理
7. 剩余系与环
结论:在长为
感性理解:给环标号,走到的点模
8 拓展欧几里得算法
用于求解形如
解的存在性:裴蜀定理
证明:左式一定是
求解:
只需先求
回忆辗转相除法的过程,我们用了关键结论:
注意,前后
值域限制:可以证明,直接求的特殊解一定有
一般解的形式:
应用:
- 求逆元:不要求 p 是质数,只需 a,p 互质。将其看做
的最小正整数解 即可。 - 逆元个数:
中有 个 的逆元,显然只有在 不是质数时有多个逆元。 - 若
,则 取遍 ,这是比费马小定理强的结论。
9. 欧拉函数
定义:
性质 1:
每
性质2:
将性质 1 与积性带入即可。
性质3:若
根据性质 2,
欧拉反演
证明:考虑枚举
欧拉定理
考虑
扩展欧拉定理
10. 离散对数
离散对数问题即在模意义下求
考虑 Meet in the Middle,我们运用分块平衡思想,先大步求出 map
里,注意到这里逆元不是瓶颈。即 Giant Step。
问题变为,找到一个
笑点解析:1. BSGS的B不是Big而是Baby,2.BSGS和大步小步是反着来的。
实际上,可以用哈希表做到
我们从小到大枚举指数,所以得到的是最小非负整数解。
exBSGS
如果没有
若
此时
注意:BSGS前每次递归操作,
时间复杂度
11. 阶与原根
模
阶的定义如下:使得
性质1:
证明:若
性质2:若
性质3:
性质4:
求阶:
- 使用 BSGS,复杂度
。 - 根据性质2,首先令
,对于 的每个质因子 , 不断试除 直到无法整除。
原神
原根的定义如下:对于
更直观的,
且对于任意小于
并不是所有数都有原根,存在原根的模
原根的若干次幂在模意义下取遍了所有与
原根判定定理:对于任意
原根存在定理:一个数存在原根的充要条件是
原根个数定理:
最小原根大小:上界为
原根转加法
要求
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现