分类 | 入门级 | 提高级 | NOI级 |
知 识 点 | 1.1C++基础程序设计 内容:顺序结构、分支结构、循环结构、数组、字符串、函数与递归等 | 2.1搜索进阶 内容:搜索的剪枝条优化、记忆化搜索、启发式搜索、双向广度优先搜索、迭代加深搜索 | 3.1动态规划进阶 内容:复杂动态规划模型的构建(如四边形不等式、斜率优化、连通性DP等)、复杂动态规划模型的优化 |
1.2从递归到搜索 内容:递归函数、深度优先搜索、宽度优先搜索等 | 2.2动态规划 内容:树型动态规划、状态压缩动态规划、动态规划的优化 | 3.2数据结构进阶(一) 内容:树链剖分、动态树、虚树、可合并堆等 | |
1.3从搜索到动态规划 内容:简单一维动态规划、背包类动态规划、区间动态规划等 | 2.3数据结构(一) 内容:单调队列、优先队列、ST表、并查集、二叉堆、树状数组等 | 3.3数据结构进阶(二) 内容:可持久化数据结构、二维线段树、树套树、k-d树等 | |
1.4基础数据结构 内容:线性结构、简单树、特殊树、简单图、图的遍历等 | 2.4数据结构(二) 内容:线段树、字典树、笛卡尔树、平衡树等 | 3.4字符串算法 内容:Manacher 算法、扩展 KMP算法、AC自动机、后缀数组、后缀树、后缀自动机等 | |
1.5基础算法 内容:贪心、二分、倍增、高精度、分治、排序等 | 2.5图论算法 内容:最短路、最小生成树、拓扑排序、欧拉路径、强连通分量、树的重心和直径、DFS序与欧拉序、割点与割边、树上差分、最近公共祖先等 | 3.5图论算法 内容:基环树、最小树形图、2-SAT、网络流、图的支配集、独立集与覆盖集、匈牙利算法、KM 算法、一般图的匹配等 | |
1.6基础数学 内容:辗转相除法、扩展欧几里得算法、逆元、素数筛法、加法原理、乘法原理、排列组合等 | 2.6数学 内容:欧拉定理和欧拉函数、费马小定理、威尔逊定理、中国剩余定理、错排列与圆排列、鸽巢原理、容斥原理、卡特兰数等 | 3.6数学进阶(五选一) 内容一:计算几何 内容二:初等数论 内容三:莫比乌斯反演 内容四:快速傅里叶变换 内容五:概率论 |