竞赛用的一些templates(都是我手写的喔),学(zhao)习(chao)用~
1.qpow.cpp 快速幂
2.union_find.cpp 并查集
3.BIT.cpp 树状数组
4.backpack.cpp 花样背包
5.kruskal.cpp 最小生成树
6.floyd.cpp floyd最短路和连通判断
7.SPFA.cpp 高级Ford算法
8.euler.cpp 欧拉回路
9.topo.cpp 拓扑排序
10.qread.cpp 快速读入
11.LCA.cpp 倍增求最近公共祖先
12.forstar.cpp 链式前向星+DFS序&&欧拉序&&深度序&&BFS
13.RMQ.cpp 区间最小值查询(没有笛卡尔树,不用看了)
14.HLD.cpp 树链剖分求LCA
15.SCompress.cpp 状态压缩
16.F.cpp 状态压缩+xor快速沃尔什变换
17.LE.cpp 线性素数筛(欧拉筛)
18.SegT.cpp zkw线段树(不支持区间修改)
19.Segment_Tree.cpp 线段树(Complete)
20.hot_meat.cpp 泼辣的肉(Pollard Rho)
21.Lucas.cpp Lucas定理
22.Bitpartite.cpp 二分图判断
23.trie.cpp 无旋平衡trie(by imone + Predator_SD)
24.discrete.cpp 高速离散化(by stdcall)
25.mat_pow.cpp 矩阵快速幂加速递推
26.Prim.cpp Prim生成树
27.KMP.cpp KMP单模板匹配
28.Dinic.cpp 最小割最大流的Dinic算法
29.Dijkstra.cpp 天国的DIJ
30.Real-Trie.cpp 真-字典树
31.Splay.cpp 可以为所欲为的神器伸展树
32.Suffix_Array.cpp 后缀数组
33.Chairman_Tree.cpp 主席树
34.Persistable_Array.cpp 可持久化数组(主席树实现)
35.LF.cpp 左偏树(可合并堆)
36.Modifiable_CT.cpp 可修改主席树(动态区间kth)
37.Color_Count.cpp 数区间颜色数(主席树)
38.FFT.cpp 快速傅里叶变换(快速数列卷积)
39.Linear_Basis.cpp 构造线性基
40.NTT.cpp 快速数论变换
41.MCMF_SPFA.cpp 最小费用流的SPFA算法
42.Cut-Bridge.cpp 割顶和桥
43.Kosaraju.cpp Kosaraju算法求强连通分量
44.Tarjan.cpp Tarjan法求强连通分量
45.Mo.cpp 莫队算法(无修改)
46.Modifiable_Mo.cpp 带修莫队
47.Manacher.cpp Manacher(马拉车)回文串算法
48.EDP1.cpp 期望DP1
49.Chtholly_Tree.cpp 珂朵莉树
50.Quadrangle.cpp 四边形不等式优化DP
51.LCT.cpp Link-Cut Tree动态树
52.2-SAT.cpp dfs版的垃圾2-SAT
53.Irrotatable_Treap.cpp 无旋Treap
54.CD.cpp 点分治
55.SAM.cpp 后缀自动机的构建和简单应用
56.SAMtoSA.cpp 后缀自动机构建后缀数组
57.Mobius.cpp 莫比乌斯反演
58.tree_block.cpp 树分块
59.Du.cpp 杜教筛
60.gauss.cpp 高斯消元
61.simplex.cpp 单纯形
62.BSGScpp 大步小步算法(北上广深,拔山盖世)
63.polyln.cpp 多项式求ln(逆元+求导+积分)