数据结构区
并查集
堆
树状数组
线段树
- 1.区间加法+求和 【模板题】 【代码】
- 2.区间加法乘法+取模求和 【模板题】 【代码】
- 3.权值线段树合并 【例题】 【代码(只有核心部分)】
- 4.主席树(可持久化线段树) 【模板题】 【代码】
- 5.可持久化数组 【模板题】 【代码】
RMQ(区间最值)
平衡树
- 1.普通平衡树 【模板题】 【代码(Splay)】 【代码(Treap)】 【注释(Treap)】 【代码(FHQ Treap)】
- 2.文艺平衡树(区间翻转) 【模板题】 【代码(FHQ Treap)】
- 3.二逼平衡树(树套树或者带修主席树) 【模板题】 【代码(线段树套FHQ Treap)】
树链剖分
其他
- 1.三维偏序 【模板题】
数学区
数论
- 1.筛素数 【线性筛 O(nlog_{log_n})O(nloglogn) 模板题】 【欧拉筛 O(n)O(n) 模板题】 【代码(线性)】 【代码(欧拉)】
- 2.快速幂 【模板题】 【代码】
- 3.裴蜀定理 【模板题】 【代码】
- 4.乘法逆元 【模板题】 【代码】
- 5.大整数取余 【模板题】 【代码】
- 6.卢卡斯定理 【模板题】 【代码】
- 7.线性基 【模板题】
- 8.欧拉函数 【模板题】 【代码】
- 9.CRT(中国剩余定理) 【模板(例)题】 【代码】
- 10.EXCRT(扩展中国剩余定理) 【模板题】 【代码】
矩阵
高精度运算
解线性方程组
图论区
单源最短路径
- 1.弱化版(基本所有的最短路算法都可过) 【模板题】 【代码(SPFA+SLF)】
- 2.标准版(只有Dijkstra优化可过) 【模板题】 【代码】
生成树
- 1.最小生成树 【模板题】 【代码(Prim)】 【代码(Kruskal)】 【注释版(Kruskal)】
最近公共祖先
- 1.最近公共祖先 【模板题】 【代码(倍增)】 【注释(倍增+二分)】
欧拉图
连通分量
- 1.缩点 【模板题】 【代码(Tarjan】 【注释(Kosaraju)】
- 2.割点(双连通分量) 【模板题】 【代码(Tarjan)】
负环
- 1.负环 【模板题】 【代码(SPFA)】
网络流
- 1.二分图匹配 【模板题】 【代码(ISAP)】
- 2.网络最大流 【模板题】 【代码(Dinic)】
- 3.网络最大流加强版(最高标号预流推进HLPP) 【模板题】 【代码】
- 4.最小费用最大流 【模板题】 【代码】
基环树
- 1.基环树求直径 【模板题(Luogu)(数据损坏)】 【模板题(BZOJ)(数据完好)】 【代码】
字符串区
字符串哈希
回文串
-
1.manacher算法 【模板题】
字符串匹配
后缀
排序区
- 1.快速排序(1e5个数排序) 【模板题】
【代码(快速排序)】 【代码(希尔排序)】 【代码(堆排序)】 【代码(基数排序)】 【代码(归并排序)】
博弈论区
搜索区
动态规划区
几何区
- 1.二维凸包 【模板题】