O I OI OI算法清单
图论
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
最短路 | S P F A ( d e q u e ) SPFA(deque) SPFA(deque) | T1 | |
最短路 | S P F A ( p r i o r i t y ) SPFA(priority) SPFA(priority) | T1 | |
最短路 | S P F A SPFA SPFA找负环 | T1 | |
最短路 | D i j k s t r a Dijkstra Dijkstra的堆优化 | T1 | |
最短路 | F l o y e d Floyed Floyed | ||
最短路 | F l o y e d Floyed Floyed找环 | ||
最短路 | 差分约束 | T1 | |
最短路 | 01 B F S 01BFS 01BFS | ||
最短路 | 分层图 | ||
最小生成树 | K r u s k a l Kruskal Kruskal | T1 | |
最小生成树 | P r i m Prim Prim | T1 | |
次小生成树 | L C A + K r u s k a l LCA+Kruskal LCA+Kruskal | T1 | |
拓扑排序 | 普通的拓扑排序 | T1 | T1/T2 |
拓扑排序 | 拓扑排序找环 | T1 | |
图的联通 | 强联通分量,缩点 | T1 | T1 |
图的联通 | 边的双联通分量 | T1 | |
图的联通 | 点的双联通分量 | ||
图的联通 | 割点与割边 | T1 | |
树 | 树的重心 | ||
树 | 树的直径 | ||
树 | L C A LCA LCA的倍增算法 | T1 | |
树 | L C A LCA LCA的 T a r j a n Tarjan Tarjan算法 | T1 | |
网络 | 网络流之最大流,最小割 | T1 | |
网络 | 网络流之费用流 | T1 | |
网络 | 二分图最大匹配(匈牙利) | T1 | |
网络 | 二分图最大匹配(网络流) | T1 | |
网络 | 最大独立集 | T1 | |
网络 | 最小路径覆盖(点) | T1 | T1 |
网络 | 最大点全覆盖集 | T1 | T1 |
数论
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
线性筛素数 | O ( N ) O(N) O(N) | T1 | |
线性筛素数 | M i l l e r − R a b i n Miller-Rabin Miller−Rabin | T1 | T1 |
高斯消元 | 高斯消元 | T1 | |
费马小定理 | 费马小定理 | ||
裴蜀定理 | 裴蜀定理 | T1 | |
欧拉定理 | 欧拉定理 | T1 | |
逆元 | 逆元 | T1 | T1 |
快速幂 | 分治 | T1 | |
矩阵 | 矩阵乘法 | T1/T2 | |
概率与期望 | |||
莫比乌斯反演 | 莫比乌斯反演 | T1 |
数据结构
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
基本数据结构 | 单调栈 | ||
基本数据结构 | 单调队列 | ||
基本数据结构 | 单向链表 | ||
基本数据结构 | 双向链表 | T1 | T1 |
基本数据结构 | 并查集 | ||
数据结构进阶 | 线段树 | ||
数据结构进阶 | 线段树的标记永久化 | ||
数据结构进阶 | 线段树的动态开点 | ||
数据结构进阶 | 线段树的启发式合并 | ||
数据结构进阶 | 树链剖分 | T1 | T1/T2 |
数据结构进阶 | 分块 | T1/T2/T3/T4 | T5/T6/T7/T8/T9 |
数据结构进阶 | 平衡树之 S p l a y Splay Splay | T1 | |
数据结构进阶 | 平衡树之 V e c t o r Vector Vector | T1 | |
数据结构进阶 | 平衡树之 M u l t i s e t Multiset Multiset | T1 | |
数据结构进阶 | 平衡树之 T r e a p Treap Treap | T1 | |
数据结构进阶 | 平衡树之 S p l a y Splay Splay的启发式合并 | ||
数据结构进阶 | 主席树 |
动态规划
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
背包 | 01背包 | ||
背包 | 完全背包 | ||
背包 | 多重背包 | ||
简单模型 | L I S LIS LIS | ||
简单模型 | L C S LCS LCS | ||
DP模型 | 线性DP1 | ||
DP模型 | 线性DP2 | ||
DP模型 | 线性DP3 | ||
DP模型 | 树形DP | ||
DP模型 | 区间DP | ||
DP模型 | 数位DP | ||
DP优化 | 斜率优化 |
搜索
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
D F S DFS DFS | D F S DFS DFS | ||
B F S BFS BFS | B F S BFS BFS |
字符串
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
字符串匹配 | K M P KMP KMP | ||
字符串匹配 | T r i e Trie Trie | ||
字符串匹配 | A C AC AC自动机 | ||
字符串匹配 | M a n a c h e r Manacher Manacher |
其他
算法名称 | 算法内容 | 模板题 | 好题 |
---|---|---|---|
随机算法 | 模拟退火 | ||
线性基 | 线性基 |