本文转自https://blog.csdn.net/myjs999/article/details/82903220
优化策略
折半枚举
离线
时光倒流
双指针/滑动窗口/尺取
单调性优化
贪心
分治
倍增
动态规划
动态规划类型
简单DP
区间DP
树形DP
数位DP
背包(01|完全|多重-单调队列优化)*
状压DP
期望DP
其它DP
动态规划优化
单调队列优化
矩阵快速幂
数学
数论
快速幂
扩展欧几里得
费马小定理
逆元
中国剩余定理
线性筛
组合
卢卡斯定理
基础容斥原理
(卡特兰数)
线性代数
矩阵乘法
高斯消元
数据结构
基础&思想
STL
简单分治
前缀和
差分
二维前缀和/差分
单调队列
单调栈
并查集
带权并查集
离散化
树形结构
ST表
树状数组
二维树状数组
线段树
左偏树*
动态开点线段树
标记永久化树
值域线段树
Trie树
主席树
(平衡树)
树上顺序结构
dfs序
树链剖分
LCA(倍增/ST表/tarjan)
图论
图的遍历
欧拉路径、欧拉回路
tarjan求SCC/BCC
2-SAT
最短路
堆优化Dijkstra:(O((n+m)logn))
SPFA:(O(mn))
Floyd
最短路树/最短路DAG
差分约束系统
拆点
优化建图
最小生成树
Kruskal:(O(mlogn))
Prim:(O(n^ 2))
最小瓶颈生成树
次小生成树((O(mlogn))或(O(n^2)))
字符串
哈希
KMP*
AC自动机基础*
Trie图*