近年来,很多初中生参加提高组的选拔,相比于普及组,提高组的知识点更加广泛同样难度也有所提升。现从提高组的初赛到复赛的考纲整理分一下几大类:基础知识与编程环境、C++程序设计、数据结构、算法、数学;

一、对于基础知识和编程环境

1、Linux终端常用的文件目录操作;

2、g++、gcc编译器与相关编译选项

二、C++程序设计

1、类的概念及简单应用

2、STL模板——容器、迭代器、对、集合、映射、(优先)队列;

3、算法模板库中常用的函数

三、数据结构

1、线性结构——双端栈、双端队列、单调队列、优先队列、ST表;

2、集合与森林——并查集、树的孩子兄弟;

3、特殊树——二叉堆、树状数组、线段树、字典树、笛卡尔树、平衡树;

4、常见图——稀疏图、二分图、欧拉图、有向无环图、连通图、强连通图、双连通图;

5、哈希表——字符串哈希、数值哈希;

四、算法

1、复杂度分析——时间、空间复杂度分析;

2、算法策略——离散化;

3、字符串——字符串匹配、KMP算法;

4、搜索算法——剪枝优化、记忆化搜索、启发式搜索、双向广度优先搜索、迭代加深搜索;

5、图论——最小生成树、次小生成树、单源最短路、次源最短路、有向无环图的拓扑排序、欧拉回路、二分图判定、强连通分量、割点割边、树上的差分、子树和与倍增、最近公共祖先;

6、动态规划——树型dp、状态压缩dp、dp优化;

五、数学

1、初等数学——代数、几何

2、初等数论——同余式、欧拉定理、扩展欧拉几里得算法、中国剩余定理

3、离散与组合数——多重集合、等价类、多重排列组合、鸽巢原理、容斥原理、卡特兰数;

4、线性代数——向量与矩阵、高斯消元法