模拟 暴力 贪心 高精度 排序
栈 单调栈 队列 单调队列 堆 左偏堆 链表 哈希表 并查集 路径压缩 带边权并查集 拆点 块状链表-快状数 树状数组 线段树 Lazy-tag zkw线段树 合并 动态开点 平衡树 SBT splay treap 替罪羊树 划分树 归并树 k-d树 主席数 树套树
单调栈
单调队列
左偏堆
路径压缩 带边权并查集 拆点
Lazy-tag zkw线段树 合并 动态开点
SBT splay treap 替罪羊树
KMP Trie Hash AC自动机 后缀树 Manacher LCP 有限状态自动机
SG函数 极大极小搜索法 alpha-beta
alpha-beta
搜索 BFS DFS IDDFS IDA* A* 双向BFS 记忆化 最短路 SPFA Bellman-ford Dijkstra Floyd Johnson 差分约束 第k短路 树 最小生成树 Kruskal Prim 分治 Prufer编码及Cayley定理 树的重心及直径 LCA 树链剖分与动态树 DFS序 图的连通 强连通分量 双连通分量 割点和桥 2-SAT 网络 网络流 最大流-最小割 费用流 有上下界的网络流 二分图 最大匹配 最大独立集 最小路径覆盖 最大点权覆盖集 方案唯一性 欧拉图 最小平均值环 拓扑排序
BFS DFS IDDFS IDA* A* 双向BFS 记忆化
SPFA Bellman-ford Dijkstra Floyd Johnson 差分约束 第k短路
最小生成树 Kruskal Prim 分治 Prufer编码及Cayley定理 树的重心及直径 LCA 树链剖分与动态树 DFS序
Kruskal Prim
强连通分量 双连通分量 割点和桥 2-SAT
网络流 最大流-最小割 费用流 有上下界的网络流 二分图 最大匹配 最大独立集 最小路径覆盖 最大点权覆盖集 方案唯一性
最大流-最小割 费用流 有上下界的网络流
最大匹配 最大独立集 最小路径覆盖 最大点权覆盖集
动态规划 背包 01背包 完全背包 多重背包 简单模型 LCS LIS LCIS 区间DP 树形DP 数位DP 概率DP 斜率优化 四边形不等式 数据结构优化 状态压缩 线性规划 单纯形法 转化为图论模型 分数规划 01分数规划
背包 01背包 完全背包 多重背包 简单模型 LCS LIS LCIS 区间DP 树形DP 数位DP 概率DP 斜率优化 四边形不等式 数据结构优化 状态压缩
01背包 完全背包 多重背包
LCS LIS LCIS
单纯形法 转化为图论模型
01分数规划
线性筛素数 费马小定理及mr素数判断 高斯消元 原根 模方程 模意义下开根 模意义下求对数 乘法逆元 gcd及扩展gcd 中国剩余定理 快速幂 置换 矩阵乘法 欧拉函数 数值与积分 概率与期望 更相减损术 莫比乌斯反演 快速傅里叶变换 排列组合 群论与Burnisde 母函数
模意义下开根 模意义下求对数
凸包 半平面交 圆并圆交 pick定理 三角剖分 扫描线 旋转卡壳 仿射变换与矩阵
二分 三分 位运算 离散化 分块 图的拆点 数列差分及前缀和 启发式合并 哈夫曼编码 cdq分治 倍增 RMO LCA 莫队算法 树上莫队
RMO LCA
树上莫队
随机算法 模拟退火 朱刘算法 爬山算法 遗传算法 DLX算法