一、算法基础
1.语法基础
变量
运算
输入、输出
函数
结构体/类
内置库函数 API
2.语法进阶
时间复杂度分析
枚举
模拟
递归
进制转换
3.基础算法
倍增
构造
位运算
前缀和
差分
离散化
贪心
双指针
二分
4.排序
冒泡排序
选择排序
插入排序
快速排序
归并排序
桶排序
5.搜索
DFS 基础
回溯
剪枝
记忆化
折半搜索
6.基础数据结构
链表
栈
队列
堆
ST 表
树
树的基本概念
树的遍历
树的直径和重心
6.图论基础
图的基本概念
图的遍历
拓扑排序
7.动态规划基础
动态规划基础
线性 DP 模型
8.背包问题
01背包
完全背包
多重背包
基础
二进制优化
单调队列优化
混合背包
二维费用背包
分组背包
树形依赖背包
9.动态规划进阶
树形dp
区间dp
状压dp
数位dp
期望dp
10.字符串匹配算法
KMP
Manacher
字符串hash
字典树
最小表示法
11.数论基础
GCD、LCM
快速幂
矩阵快速幂
高斯消元
素数筛
唯一分解定理、约数定理
反素数
12.图论算法和理论
最短路
Floyd
SPFA
Dijkstra
最小生成树
Kruskal
Prim
图的连通
强连通分量
割点
二、算法提高
1.数论
费马小定理
欧拉定理
欧拉函数
欧拉降幂
威尔逊定理
中国剩余定理
扩展中国剩余定理
裴蜀定理
康托定理
康托展开
线性基
整除分块
2.排列组合
排列组合基础
Lucas定理
3.树形数据结构
LCA
DFS 序
树状数组
线段树
主席树
平衡树
Dsu On Tree
4.计算几何基础
叉积的应用
点和线段关系
点和直线关系
点到直线距离
点到线段距离
线段相交判断
直线相交判断
线段上整点数
5.高阶数据结构
单调数据结构
单调栈
单调队列
二维单调队列
并查集
路径压缩、按秩合并
种类并查集
可持久化并查集
带权并查集
分块基础
莫队算法
6.图论高阶应用
二分图判定
二分图最大匹配
二分图最大权匹配
7.动态规划优化
斜率优化
四边形不等式优化
数据结构优化
8.博弈论
尼姆博弈
反尼姆博弈
Nim-K博弈
SG函数
三、大纲
1.学习大纲
2.竞赛大纲
计算机算法:枚举、排序、搜索、计数、贪心、动态规划、图论、数论、博弈论
*
、概率论
*
、计
算几何
*
、字符串算法等。
数据结构:数组、对象
/
结构、字符串、队列、栈、树、图、堆、平衡树
/
线段树、复杂数据结构
*
、
嵌套数据结构
*
等。