先看图例

数据结构

队列

  • 普通队列
  • 双端队列
  • 单调队列

  • 普通栈

  • 单调栈

    链表

  • 普通链表

  • 双向链表
  • 循坏链表

  • 普通堆

  • 对顶堆
  • 斐波那契堆
  • 左偏堆

  • 树的基础

    • 基本概念
    • 树的遍历
    • 树的重心
    • 树的直径
    • LCA
    • dfm
    • 括号序
  • 线段树
    • 基础线段树
    • 李超线段树
    • 线段树合并
    • ZKW线段树
  • 树状数组
    • 基础
    • 数状数组求第k大
    • 多维数状数组
  • 平衡树
    • spaly
    • treap
    • fhqtreap
    • 可持久化平衡树
    • 其他
      • 替罪羊树
      • AVL
      • SBT
      • 红黑树
  • 树套树
    • 线段树套线段树
    • 平衡树套平衡树
  • 树链剖分
    • 重链剖分
    • 长链剖分
  • 笛卡尔树
  • 疏导启发式合并
  • DSU on tree
  • LCT
  • 虚树
  • KD树
  • 树的哈希
  • 树套表
  • 划分树
  • 析合树

    并查集

  • 基础

  • 带权并查集
  • 可持久化并查集

    分块

  • 莫队

  • 链上分块
  • 树上分块

    Dancing Links

    基础

    语法基础

  • 函数


  • 指针

  • 引用

  • 结构体、类

22.结构体详解
23.结构体数组
24.结构体指针
25.结构体内存分析
26.结构体变量占用存储空间大小
27.结构体嵌套定义
28.共用体

算法基础

  • 模拟
  • 递归、回溯
  • 递推
  • 贪心
  • 二分
  • 排序
    • 选择排序
    • 冒泡排序
    • 插入排序
    • 快速排序
    • 归并排序
    • 桶排序
    • 基数排序
    • 堆排序
    • 希尔排序
  • 高精度
  • 位运算
  • 时空复杂度分析

    字符串

    kmp

    字符串的哈希

    字典树

    AC自动机

    后缀数组

    后缀自动机

    回文自动机

    扩展kmp

    manacher

    最小表示法

    Lyndon分解

    后缀树

    几何

    点类

  • 点积

  • 叉积
  • 极角序

    线段相关

  • 相交判定

  • 交点
  • 凸包

    多边形相关

  • 多边形包含

  • 旋转卡壳
  • 半平面相交

    图相关

  • 交点切线

  • 面积交/并

    凸包快速操作

    三维计算几何

    几何杂项

  • 数值积分

    • 辛普森积分
    • 自适应辛普森
  • 点定位
  • 最小圆覆盖
  • Voronoi图
  • 圆反演
  • Picks定理

数学

数论

  • 埃氏筛
  • gcd/lcm
    最大公因数/最小公倍数
  • 快速幂
  • 逆元
  • 扩展欧几里得
  • 费马定理/引理
  • 欧拉定理
  • 扩展欧拉定理
  • 原根/阶
  • 类欧几里得
  • 同余方程组
    • 中国剩余定理
    • 扩展中国剩余定理
  • Lucas定理
    • 普通
    • exLucas
  • 离散对数
    • BSGS
    • Pohig-Hellman
  • 数论函数
    • 线性筛
    • 整除分块
    • 独利克雷卷积
    • 莫比乌斯反演
    • 杜教筛
    • min25筛
  • Miller Rabin
  • Pollard Rho
  • 佩尔方程
  • 单位根反演
  • 二次剩余

    • 勒让德符号
    • Cipolla算法

      线代

  • 矩阵快速幂

  • 高斯消元
  • 行列式
  • 线性基
  • 矩阵求逆
  • 常系数线性递推
  • 矩阵树定理
  • BM
  • BEST定理
  • 特征值
  • 特征向量

    组合数学

  • 组合数

    • 杨辉三角
    • 多重集组合数
  • 二项式定理
  • 概率论
    • 期望的线性性
    • 条件概率
  • 容斥原理
    • 容斥原理基础
    • min-max反演
    • 二项式反演
  • 常见数列
    • 斐波那契数列
    • 错排问题
    • 卡特兰数
    • 拆分数
    • 斯特林数
    • 贝尔数
    • 伯努利数
  • prufer序列
  • LGV引理
  • 杨表

    博弈论

  • SG函数

  • 常见结论
  • 不平等博弈

    多项式

  • FFT/NTT

  • 拉格朗日插值
  • 生成函数
  • 多项式全家桶
  • 集合幂级数

    • FWT/FMT

      群论

  • 置换

  • Burnside引理
  • Polya定理

    线性规划

    杂项

    离散

    前缀和/差分

    逆序对

    扫描线

    双指针

    倍增

    三分

    枚举子集、超集

    搜索

  • 剪枝

  • 折半搜索
  • DLX
  • A*

    分治

  • 树上分治

    • 点分
    • 边分
    • 动态点分
  • cdq分治

    随机

  • 爬山

  • 模拟退火
  • 遗传算法

    对拍

    常数优化

    读入优化

拟阵

图论

图的概念

图的遍历

  • bfs
  • dfs

拓扑序

传递闭包

  • floyd

最短路

  • bellman-ford
  • dijkstra
  • 最短路径树

最小生成树

  • prim
  • kruskal
  • boruvka

点(边)双连通分量

  • tarjan
  • 割点/割边
  • 圆方树
  • kosaraju

二分图

  • 二分图判定
  • 匈牙利算法
  • KM
  • hopcraft-karp

网络流

  • 最大流(最小割)
    • dinic
    • sap
  • 费用流
    • 可行流
    • 最大流
    • ZKW费用流
  • 上下界网络流

欧拉(回)路

2-sat

竞赛图

差分约束

斯坦纳图

仙人掌

最小树形图

一般图匹配

弦图

k短路

支配树

全局最小割

动态规划

记忆化搜索

动态规划基础

  • 最优子结构
  • 午后效性
  • 状态
  • 转移

背包问题

  • 01背包
  • 无限背包
  • 多重背包
    • O(nml)
    • O(nmlog i)
    • O(nm)
  • 树形背包
    • O(n^3)
    • O(n^2)
  • 分组背包
  • 多维背包
  • 混合背包

区间dp

  • 基础
  • 进阶

数位dp

  • 基础
  • 进阶

树形dp(普通形、换根型)

  • 基础
  • 进阶
  • 高级

状态压缩dp

  • 普通型
  • 轮廓线型
  • 高维前缀和
  • 动态高维前缀和
  • 插头dp

计数dp

  • 基础
  • 进阶
  • 高级

其他类型

  • 图上dp
  • 基环树上dp
  • 自动机上dp
  • 分治dp
  • 填坑dp
  • 动态dp
  • dp套dp

dp优化

  • 单调栈优化
  • 单调队列优化
  • 四边形不等式优化
  • 斜率优化
  • 数据结构优化
  • 决策单调性

图例

基础(入门)

初级(铜牌)

中级(银牌)

高级(金牌)

特级(争冠)

板子

useful

useless