目前我知道的算法大全

正题

水博客的日常


基础算法

算法名称 常用程度 时间复杂度 掌握程度
模拟 \bigstar\bigstar O ( 1 ) O ( ) O(1)\sim O(\infty) 不等 \bigstar\bigstar\bigstar\bigstar
贪心 \bigstar\bigstar\bigstar\bigstar O ( 1 ) O ( ) O(1)\sim O(\infty) 不等 \bigstar\bigstar
分治 \bigstar O ( n log n ) O(n\log n) \bigstar\bigstar
倍增 \bigstar\bigstar O ( n log n ) O(n\log n) \bigstar\bigstar\bigstar
差分 \bigstar\bigstar O ( ? ? ? ) O(???) \bigstar\bigstar\bigstar
离散化 \bigstar\bigstar\bigstar O ( n log n ) O(n\log n) \bigstar\bigstar\bigstar\bigstar
二分 \bigstar\bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar\bigstar
高精度 我用过吗? O ( n )   o r   O ( n 2 )   o r   O ( n log n ) F F T O(n)\ or\ O(n^2)\ or\ O(n\log n)_{FFT} 都说了没写过

搜索

算法名称 常用程度 时间复杂度 掌握程度
普通 d f s dfs \bigstar\bigstar\bigstar\bigstar\bigstar O ( c a n t   A C ) O(can't\ AC) \bigstar\bigstar\bigstar\bigstar
普通 b f s bfs \bigstar\bigstar\bigstar O ( n ) O(n) \bigstar\bigstar\bigstar\bigstar\bigstar
双端 d f s dfs N o No O ( I   d o n t   k o n w ) O(I\ don't\ konw) \bigstar\bigstar
双端 b f s bfs \star O ( n ) O(n) \bigstar\bigstar\bigstar
记忆化 d f s dfs \bigstar\bigstar O ( n ) O(n) \bigstar\bigstar\bigstar
A A^* \star O ( O( 玄学 ) ) N o No

dp

算法名称 常用程度 时间复杂度 掌握程度
线性 d p dp \bigstar\bigstar\bigstar\bigstar O ( n ) O ( n 3 ) O(n)\sim O(n^3) \bigstar\bigstar\bigstar
背包 \bigstar O ( n ) O ( n 2 ) O(n)\sim O(n^2) \bigstar\bigstar\bigstar
区间 d p dp \bigstar\bigstar O ( n 3 ) O ( n 2 ) O(n^3)\sim O(n^2) \bigstar\bigstar\bigstar
状压 d p dp \bigstar\bigstar\bigstar O ( 2 n ) O ( 2 n n 2 ) O(2^n)\sim O(2^nn^2) \bigstar\bigstar
树形 d p dp \bigstar\bigstar\bigstar\bigstar O ( n ) O ( n ) O(n)\sim O(n*\infty) \bigstar\bigstar\bigstar\bigstar
换根法 \bigstar O ( n ) O(n) \bigstar\bigstar
D A G d p DAGdp \bigstar O ( n ) O(n) \bigstar\bigstar\bigstar
数位 d p dp \bigstar\bigstar O ( O( 我不会 ) ) 都说了我不会
有后效性の d p dp (高斯消元) \star O ( n 3 ) O(n^3) \bigstar
期望 d p dp \bigstar\bigstar\bigstar O ( s h i t ) O(shit) \bigstar\bigstar
d d p ddp \star O ( m   l o g n 3 ) O(m\ log n^3) \bigstar
插头 d p dp \star O ( ? ? ? ) O(???) 不会,滚!

图论

算法名称 常用程度 时间复杂度 掌握程度
图的遍历 \bigstar\bigstar\bigstar\bigstar O ( n ) O(n) \bigstar\bigstar\bigstar
拓扑排序 \bigstar\bigstar O ( n ) O(n) \bigstar\bigstar\bigstar
最小生成树 \bigstar\bigstar\bigstar O ( n log n )   o r   O ( m log m ) O(n\log n)\ or\ O(m\log m) \bigstar\bigstar
斯坦纳树 \bigstar O ( n K 2 m ) O(nK*2^m) \bigstar\bigstar
D i j k s t r a Dijkstra \bigstar\bigstar\bigstar O ( n 2 ) O ( n   l o g   n ) O(n^2)\sim O(n\ log\ n) \bigstar\bigstar
S P F A SPFA D e a t h \color{red}Death O ( n 2 ) O(n^2) \bigstar\bigstar\bigstar\bigstar
F l o d y Flody \bigstar\bigstar O ( n 3 ) O(n^3) \bigstar\bigstar\bigstar
L C A LCA \bigstar\bigstar\bigstar O ( n log n ) O(n\log n) \bigstar\bigstar\bigstar
匈牙利二分匹配 \bigstar O ( n 3 ) O(n^3) \bigstar
网络流-最大流 \bigstar\bigstar\bigstar O ( n 2 m ) O ( m n ) O(n^2m)_{O(m\sqrt n)} \bigstar\bigstar
网络流-费用流 \bigstar\bigstar\bigstar O ( n 2 m K ) O(n^2mK) \bigstar\bigstar\bigstar
上下界网络流 \star O ( ? ? ? ) O(???) N o No
树的直径/重心 \bigstar\bigstar O ( n ) O(n) \bigstar\bigstar
差分约束 \bigstar\bigstar O ( n 2 ) O(n^2) \bigstar
有向图 t a r j a n tarjan \bigstar\bigstar\bigstar O ( n ) O(n) \bigstar
无向图 t a r j a n tarjan \bigstar\bigstar\bigstar O ( n ) O(n) \bigstar\bigstar
支配树 \bigstar O ( n ) O(n) N o No
虚树 \bigstar O ( k log n ) O(k\log n) \bigstar
圆方树 \bigstar O ( ? ? ? ) O(???) N o No
仙人掌 \bigstar\bigstar O ( ? ? ? ) O(???) N o No

数据结构

这里的时间复杂度部分数据结构指单个操作的时间复杂度

算法名称 常用程度 时间复杂度 掌握程度
栈/队列 \bigstar\bigstar\bigstar\bigstar\bigstar O ( 1 ) O(1) \bigstar\bigstar\bigstar\bigstar
单调队列/单调栈 \bigstar\bigstar O ( 1 ) O(1) \bigstar\bigstar\bigstar
链表 \bigstar O ( 1 ) i n s / a s k O ( n ) f i n d O(1)_{ins/ask}O(n)_{find} \bigstar
\bigstar\bigstar O ( log n ) O(\log n) \bigstar\bigstar\bigstar
左偏树(可并堆) \star O ( log n ) O(\log n) N o No
H a s h Hash ( m a p ) (map) \bigstar\bigstar\bigstar O ( 1 ) O ( log n ) O ( n ) O(1)\sim O(\log n)\sim O(n) \bigstar\bigstar\bigstar
S T ST ( R M Q ) (RMQ) \bigstar O ( n log n ) p r e O(n\log n)_{pre} \bigstar\bigstar\bigstar\bigstar
并查集 \bigstar\bigstar\bigstar O ( α ( n ) ) O(\alpha(n)) \bigstar\bigstar\bigstar\bigstar
线段树 \bigstar\bigstar\bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar\bigstar\bigstar\bigstar
扫描线 \bigstar\bigstar O ( n log n ) A L L O(n\log n)_{ALL} \bigstar\bigstar\bigstar
主席树 \bigstar O ( log n ) O(\log n) \bigstar\bigstar\bigstar
树状数组 \bigstar\bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar\bigstar\bigstar\bigstar
分块 \bigstar\bigstar O ( n ) O(\sqrt n) \bigstar\bigstar\bigstar
块状链表 \bigstar O ( n ) O(\sqrt n) N o No
平衡树 T r e a p _{Treap} \bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar
S p l a y Splay \bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar
F H Q   T r e a p FHQ\ Treap \star O ( log n ) O(\log n) N o No
点分治 \bigstar O ( n log n ) A L L O(n\log n)_{ALL} \bigstar\bigstar
树链剖分 \bigstar\bigstar O ( log 2 n ) O(\log^2n) \bigstar\bigstar\bigstar
L C T LCT \bigstar\bigstar\bigstar O ( log 2 n ) O(\log ^2n) \bigstar
莫队 \bigstar\bigstar\bigstar O ( n n ) A L L O(n\sqrt n)_{ALL} \bigstar\bigstar
树上莫队 \star O ( n n ) A L L O(n\sqrt n)_{ALL} \bigstar
带修莫队 \bigstar O ( O( 玄学 ) ) N o No
C D Q CDQ 分治 \bigstar O ( n log n ) A L L O(n\log n)_{ALL} \star

数论

这里一般放比较系统的算法

算法名称 常用程度 时间复杂度 掌握程度
质因数分解 \bigstar\bigstar\bigstar O ( n ) O(\sqrt n) \bigstar\bigstar\bigstar
快速幂 \bigstar\bigstar\bigstar\bigstar\bigstar O ( log n ) O(\log n) \bigstar\bigstar\bigstar\bigstar\bigstar
筛素数/积性函数 \bigstar\bigstar\bigstar O ( n n ) O ( n ) O ( n 3 4 ) O(n\sqrt n)\sim O(n)\sim O(n^{\frac{3}{4}}) \bigstar\bigstar\bigstar
G C D / E X G C D GCD/EXGCD \bigstar\bigstar\bigstar\bigstar O ( log n ) O(\log n) / \bigstar\bigstar\bigstar/\bigstar\bigstar
矩阵乘法 \bigstar\bigstar\bigstar\bigstar O ( n 3 ) O(n^3) \bigstar\bigstar\bigstar
逆元 \bigstar\bigstar\bigstar\bigstar\bigstar O ( log n ) o n e      O ( n ) n O(\log n)_{one}\ \ \ \ O(n)_{n} \bigstar\bigstar\bigstar\bigstar
0 / 1 0/1 分数规划 \star O ( n log n ) O(n\log n) \bigstar\bigstar\bigstar
B S G S BSGS \bigstar O ( n log n ) O(\sqrt n\log\sqrt n) \bigstar
高斯消元 \bigstar\bigstar O ( n 3 ) O(n^3) \bigstar\bigstar
C R T / E X C R T CRT/EXCRT \bigstar O ( n ) O ( n log n ) O(n)\sim O(n\log n) \star
莫比乌斯反演 \bigstar\bigstar O ( n ) O(\sqrt n) \bigstar\bigstar\bigstar
F F T / N T T FFT/NTT \bigstar\bigstar\bigstar O ( n log n ) O(n\log n) \bigstar

字符串

算法名称 常用程度 时间复杂度 掌握程度
字符串 h a s h hash \bigstar\bigstar\bigstar\bigstar O ( 1 ) c h e c k O(1)_{check} \bigstar\bigstar\bigstar
最小表示法 \star O ( n ) O(n) \star
K M P KMP \bigstar\bigstar\bigstar O ( n ) O(n) \bigstar\bigstar
E X K M P EXKMP \star O ( ? ? ? ) O(???) N o No
T r i e Trie \bigstar\bigstar\bigstar O ( n ) O(n) \bigstar\bigstar\bigstar
可持久化 T r i e Trie \bigstar\bigstar O ( n ) O(n) \bigstar
M a n a c h e r Manacher \bigstar O ( n ) O(n) \bigstar
A C AC 自动机 \bigstar\bigstar O ( n ) O(n) N o No
S A SA \bigstar O ( ? ? ? ) O(???) N o No
S A M SAM \bigstar\bigstar\bigstar O ( ? ? ? ) O(???) N o No

计算几何

是什么?我没听说过这个东西

发布了867 篇原创文章 · 获赞 55 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Mr_wuyongcong/article/details/99710159
今日推荐