CSP-S提高级大纲

上一次文章:
CSP-J第一轮 入门级大纲
提高级的大纲来了,快来查漏补缺吧。

如果有问题请私信,谢。

说明

格式说明:

"【】"内的数字代表知识点难度,数字越高,代表难度越高。

例子:

【6】并查集。

提高级

2.1 基础知识与编程环境

  1. 【5】Linux系统终端中常用的文件与目录操作命令
  2. 【5】Linux系统下常见文本编辑工具的使用
  3. 【5】g++、gcc等编译器与相关编译选项
  4. 【5】在Linux系统终端中运行程序,使用time命令查看程序用时
  5. 【5】调试工具GDB的使用

2.2 C++程序设计

1. 类(class)
  • 【6】类的概念及简单应用
  • 【6】成员函数和运算符重载
2. STL模板
  • 【5】容器(container)和迭代器(iterator)
  • 【5】对(pair)、元组(tuple)
  • 【5】集合(set)、多重集合(multiset)
  • 【5】双端队列(deque)、优先队列(priority_queue)
  • 【5】映射(map)、多重映射(multimap)
  • 【5】算法模板库中的常用函数

2.3 数据结构

1. 线性结构
  • 【5】双端栈
  • 【5】双端队列
  • 【5】单调队列
  • 【6】优先队列
  • 【6】ST表(Sparse Table)
2. 集合与森林
  • 【6】并查集
  • 【6】树的孩子兄弟表示法
3. 特殊树
  • 【6】二叉堆
  • 【6】树状数组
  • 【6】线段树
  • 【6】字典树(Trie树)
  • 【7】笛卡尔树
  • 【8】平衡树:AVL、treap、splay等
4. 常见图
  • 【5】稀疏图
  • 【6】偶图(二分图)
  • 【6】欧拉图
  • 【6】有向无环图
  • 【7】连通图与强连通图
  • 【7】双连通图

2.4 算法

1. 复杂度分析
  • 【6】时间复杂度分析
  • 【6】空间复杂度分析
2. 算法策略
  • 【6】离散化
3. 基础算法
  • 【6】分治算法
4. 排序算法
  • 【5】归并排序
  • 【5】快速排序
  • 【6】堆排序
  • 【5】桶排序
  • 【6】基数排序
5. 字符串相关算法
  • 【6】字符串匹配:KMP算法
6. 搜索算法
  • 【6】搜索的剪枝优化
  • 【6】记忆化搜索
  • 【7】启发式搜索
  • 【7】双向广度优先搜索
  • 【7】迭代加深搜索
7. 图论算法
  • 【6】最小生成树:Prim和Kruskal等算法
  • 【7】次小生成树
  • 【6】单源最短路:Bellman-Ford、Dijkstra、SPFA等算法
  • 【7】单源次短路
  • 【6】Floyd-Warshall算法
  • 【6】有向无环图的拓扑排序
  • 【6】欧拉道路和欧拉回路
  • 【6】二分图的判定
  • 【7】强连通分量
  • 【7】割点、割边
  • 【6】树的重心、直径、DFS序与欧拉序
  • 【6】树上差分、子树和与倍增
  • 【6】最近公共祖先
8. 动态规划
  • 【6】树型动态规划
  • 【7】状态压缩动态规划
  • 【8】动态规划的常用优化

2.5 数学与其他

1. 初等数学
  • 【5】代数(高中部分)
  • 【6】几何(高中部分)
2. 初等数论
  • 【5】同余式
  • 【7】欧拉定理和欧拉函数
  • 【7】费马小定理
  • 【7】威尔逊定理
  • 【7】裴蜀定理
  • 【7】模运算意义下的逆元
  • 【7】扩展欧几里得算法
  • 【7】中国剩余定理
3. 离散与组合数学
  • 【6】多重集合
  • 【6】等价类
  • 【6】多重集上的排列
  • 【6】多重集上的组合
  • 【6】错排列、圆排列
  • 【6】鸽巢原理
  • 【6】二项式定理
  • 【7】容斥原理
  • 【7】卡特兰(Catalan)数
4. 线性代数
  • 【5】向量与矩阵的概念
  • 【6】向量的运算
  • 【6】矩阵的初等变换
  • 【6】矩阵的运算:加法、减法、乘法与转置
  • 【6】特殊矩阵的概念:单位阵、三角阵、对称阵和稀疏矩阵
  • 【7】高斯消元法
相关推荐
tju新生代魔迷4 分钟前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习
-今昭-13 分钟前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
乐迪信息22 分钟前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
kiracrimson1 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
点心的游戏开发世界1 小时前
UnityShaderGraph滚动UV笔记
笔记·uv
瑞码空间2 小时前
git知识点黄金笔记
笔记·git·elasticsearch
黑马程序员毕设2 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳2 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊2 小时前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥3 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法