近年来,很多初中生参加提高组的选拔,相比于普及组,提高组的知识点更加广泛同样难度也有所提升。现从提高组的初赛到复赛的考纲整理分一下几大类:基础知识与编程环境、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、线性代数——向量与矩阵、高斯消元法