乙级(Basic Level)
考生应具备以下基本能力:
1. 基本的C/C++的代码设计能力,以及相关开发环境的基本调试技巧;
2. 理解并掌握最基本的数据存储结构,即:数组、链表;
3. 理解并熟练编程实现与基本数据结构相关的基础算法,包括递归、排序、查找等;
4. 能够分析算法的时间复杂度、空间复杂度和算法稳定性;
5. 具备问题抽象和建模的初步能力,并能够用所学方法解决实际问题。
甲级(Advanced Level)
在达到乙级要求的基础上,还要求:
1. 具有充分的英文阅读理解能力;
2. 理解并掌握基础数据结构,包括:线性表、树、图;
3. 理解并熟练编程实现经典高级算法,包括哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等;
4. 具备较强的问题抽象和建模能力,能实现对复杂实际问题的模拟求解。
顶级(Top Level)
在达到甲级要求的基础上,还要求:
1. 对高级、复杂数据结构掌握其用法并能够熟练使用,如后缀数组、树状数组、线段树、Treap、静态KDTree等;
2. 能够利用经典算法思想解决较难的算法问题,如动态规划、计算几何、图论高级应用(包括最大流/最小割,强连通分支、最近公共祖先、最小生成树、欧拉序列)等,并灵活运用;
3. 能够解决复杂的模拟问题,编写并调试代码量较大的程序;
4. 具有缜密的科学思维,考虑问题周全,能够正确应对复杂问题的边界情况
考生应具备以下基本能力:
1. 基本的C/C++的代码设计能力,以及相关开发环境的基本调试技巧;
2. 理解并掌握最基本的数据存储结构,即:数组、链表;
3. 理解并熟练编程实现与基本数据结构相关的基础算法,包括递归、排序、查找等;
4. 能够分析算法的时间复杂度、空间复杂度和算法稳定性;
5. 具备问题抽象和建模的初步能力,并能够用所学方法解决实际问题。
甲级(Advanced Level)
在达到乙级要求的基础上,还要求:
1. 具有充分的英文阅读理解能力;
2. 理解并掌握基础数据结构,包括:线性表、树、图;
3. 理解并熟练编程实现经典高级算法,包括哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等;
4. 具备较强的问题抽象和建模能力,能实现对复杂实际问题的模拟求解。
顶级(Top Level)
在达到甲级要求的基础上,还要求:
1. 对高级、复杂数据结构掌握其用法并能够熟练使用,如后缀数组、树状数组、线段树、Treap、静态KDTree等;
2. 能够利用经典算法思想解决较难的算法问题,如动态规划、计算几何、图论高级应用(包括最大流/最小割,强连通分支、最近公共祖先、最小生成树、欧拉序列)等,并灵活运用;
3. 能够解决复杂的模拟问题,编写并调试代码量较大的程序;
4. 具有缜密的科学思维,考虑问题周全,能够正确应对复杂问题的边界情况