OIer-Code-Template 这里有我两年OI学习的代码模板干货 ~饼家干货铺 一、位运算—数论—组合数学 位运算 (归并、树状数组)求逆序对 矩阵快速幂 ST算法 欧几里得算法 最大公因数 扩展欧几里得 逆元 逆元 线性求逆元 素数及素数筛 欧拉线性筛 线性筛求欧拉函数 线性筛求约数(个数)和* miller_rabin素数判定* 其他 中国剩余定理* 高斯消元法* 组合数学 卢卡斯定理* 多项式算法 FFT NTT 二、图论 最短路 最小环 树 树的重心 树的直径 lca+树上倍增 最小生成树 tarjan(及其他)算法 无向图 割点(顶) 桥+e-dcc缩点 v-dcc缩点 欧拉(回)路 有向图 scc+缩点+topo 二分图 二分图判定 二分图最大匹配(匈牙利算法) 网络流 最大流 费用流 三、字符串算法 字符串哈希 双hash判等 子串hash判等 KMP算法 最小表示法 tire字典树 AC自动机 后缀数组* 后缀自动机* manacher算法 回文自动机* 四、高级数据结构 树状数组 区间加区间和树状数组* 线段树 权值线段树* 动态开点线段树* 堆 对顶堆 带删除的堆 可并堆(左偏树)* 平衡树* treap splay fhq_treap 可持久化数据结构* 主席树 hash hash判重 康托展开 LCT 五、实用模板 离散化