Math
5/10/26About 2 min
Math
数学优化的价值在于:你不再通过“多跑几步”来变快,而是通过发现性质直接减少搜索空间或推导答案。
很多题表面上是数组、字符串或搜索题,但如果出现这些信号,就应该往数学上想:
- 倍数、因数、余数、同余
- 进制转换、位运算
- 概率、期望、计数公式
- 数列递推、周期性、闭式表达
What This Section Solves
- 用数论性质替代枚举
- 用位运算和进制技巧压缩状态表达
- 用组合计数或概率推导减少暴力
- 用递推关系快速计算序列问题
Topic Map
- 因数: 质因数、约数分解、整除关系
- 余数: 同余、模运算、余数分类
- 二进制: 位运算、状态表达、bit trick
- 进制: 进制转换与字符串数值处理
- 运算: 快速幂、快速乘、基础算术技巧
- 数列: 递推、周期、常见序列问题
- 概率: 概率、期望、随机过程
- 其他: 放暂时不适合单独归类但明显偏数学的技巧
Typical Signals
n很大,线性或平方枚举明显不可行- 问题里存在周期、对称、整除、取模
- 题目答案不需要构造过程,只要最终值
- 搜索或 DP 看起来太重,但状态有强数学约束
Common Patterns
O(log n): 快速幂、GCD、矩阵快速幂O(sqrt n): 试除因子、分解质因数mod分类: 余数桶、同余合并- bit trick: lowbit、枚举子集、状态压缩
How It Connects to Other Sections
- 很多数学技巧会直接把 Optimization 里的暴力降维。
- 位运算和进制问题也经常反向服务于 Dynamic Programming。
- 当你发现搜索只是在“验证数学性质”,往往说明应该先回到这里。
