CSP-S 提高 知识点
面向 CSP-S 提高级考生,涵盖进阶算法与数据结构
高级搜索与技巧
9 个数学进阶
10 个扩展欧几里得
求解 ax+by=gcd(a,b),裴蜀定理,二元一次不定方程
乘法逆元
扩展 GCD 求逆元、费马小定理求逆元、线性递推求 1~n 逆元
中国剩余定理
CRT 基本形式、扩展 CRT(EXCRT)
矩阵快速幂
矩阵乘法、矩阵快速幂加速递推、构造转移矩阵
容斥原理
集合计数、二进制枚举子集实现容斥、Mobius 函数入门
欧拉函数
φ(n) 定义与计算、欧拉定理、与积性函数的关系
概率与期望
期望 DP、马尔可夫链入门、概率生成函数入门
博弈论
Nim 游戏、SG 函数、Sprague-Grundy 定理、公平组合博弈
组合计数进阶
Lucas 定理、卡特兰数、Burnside/Polya 计数入门
Pollard-Rho 素性测试
Miller-Rabin 素性测试、Pollard-Rho 因数分解
字符串算法
6 个动态规划
8 个图论
9 个最短路径算法
Dijkstra(堆优化)、SPFA、Floyd 算法原理、适用条件与复杂度对比
最小生成树
Kruskal 算法(并查集)、Prim 算法,最小生成树性质与应用
拓扑排序
BFS/Kahn 算法、DFS 实现、DAG 判定、拓扑排序上的 DP
强连通分量
Tarjan 算法、Kosaraju 算法、缩点建新图
LCA
倍增法求 LCA、Tarjan 离线算法、树剖求 LCA
二分图
二分图判定(染色法)、匈牙利算法、Konig 定理
网络流
最大流(EK/Dinic 算法)、最小割、费用流、二分图匹配
差分约束
将不等式组转化为图论最短/最长路问题
欧拉路径与回路
判定条件、Hierholzer 算法求欧拉回路