数学
从整数运算与计数出发,按问题中的同余、代数结构、随机性与精度要求选择数学工具。先辨清定理的条件,再把推导落实为可验证的算法。
数学基础
先掌握位运算、快速幂和数的表示,再按需要进入置换、序与拟阵等结构。实现时同时检查运算规律、整数范围和复杂度。
数字系统
把数值与表示方式分开理解:进位制处理转换与算术,平衡三进制允许带符号数位,格雷码关注相邻编码只改变一位。
数论
以整除、互素和同余为起点,依次理解逆元、剩余类与乘法阶;需要批量计算时,再转向筛法、卷积和反演。使用结论前明确模数与互素条件。
多项式与生成函数
用系数编码数列与计数关系,把卷积化为多项式乘法。先区分普通与指数生成函数,再学习快速变换、求逆、插值及形式幂级数运算。
组合数学
先确定计数对象、顺序与重复是否有区别,再选择直接计数、递推、容斥或对称性。经典数列应连同组合意义一起理解,避免只记公式。
线性代数
从向量和线性组合理解矩阵运算,用基、秩与线性映射描述结构。方程求解、异或线性基和矩阵递推要分别明确所在的数域与运算规则。
线性规划
把决策量、线性约束和目标函数分别写清,再讨论可行域与最优解。学习单纯形法时关注基的转换,以及不可行、无界和退化情形。
抽象代数
从运算是否封闭、元素能否求逆开始认识群、环与域。竞赛中可先沿置换和模运算进入群论,用子群、元素阶与同构简化周期和计数问题。
-
群论
以元素阶为群论切入点,推导幂的阶公式、循环群中的阶计数,以及直积周期为何取最小公倍数。
概率论
先明确样本空间、事件和随机变量,再处理条件概率与独立性。求期望时优先寻找可相加的量,分析波动或尾部风险时再使用方差与概率不等式。
博弈论
先说清合法行动、终止条件和胜负规则,再判断属于哪类游戏。公平组合游戏可从必胜必败状态与 SG 函数入手,规则变化时重新检查适用条件。
数值算法
把插值、积分、方程求解和迭代看作不同的近似任务。除运算次数外,还需检查误差、数值稳定性、收敛条件及停止准则。