For 贴模板方便...
- KMP
- Trie(字典树)
- AC自动机
- 字符串最小/最大表示法
- Manacher算法求最长回文子串
- 后缀数组,任意两点间LCP
- 后缀数组求L-Gap Substrings(UVA 10829)
- 字符哈希/滚动哈希
- Fenwick树(树状数组)
- 二维Fenwick树
- Hash
- 线段树(单点替换,区间替换,区间增加)
- 线段树(求矩形周长)
- 线段树(求矩形并、交、并减交的面积)
- 二维线段树(单点更新)
- K-d Tree
- RMQ
- SBT(平衡二叉树)
- Dijkstra
- Bellman Ford
- SPFA
- Kruskal
- Tarjan
- 无向图割顶,桥,删点后连通块增加数
- 点双连通分量
- 无向图的边-双连通分量
- 二分图最大匹配(匈牙利算法,HC算法)
- 带权二分图-最大匹配,最小路径覆盖,最小点覆盖(KM算法)
- 网络流(dinic)
- topo排序(入度法)
- topo排序(邻接表)
- 生成树计数
- 树链剖分+树状数组
- LCA(最近公共祖先)
- 最小树形图(有向图的最小生成树)
- 树的最小表示
- 最小费用最大流
- 打印二分图最小点覆盖
- 2-SAT
- 求一个数最少能表示成几个数的平方和(比如5=1+4,返回2)
- Lucas求解大组合数
- 素数筛选,整数唯一分解,整数所有因子和,递归求等比数列前n项和
- 大区间素数筛选
- 扩展欧几里得,解模线性方程,解ax+by=c的解集
- 非互质中国剩余定理求线性模方程组(形如X%mi=ai)
- 求1~n中与m互质的数的个数(m>n) 附hdu1695题解(欧拉函数+容斥原理)
- 素数定理,求1~10^n 素数个数的位数
- Baby-Step Giant-Step 解高次同余方程(形如(a^x)%n=b,其中n为素数)
- 扩展Baby Step Giant Step (解(a^x)%n=b,其中c没有限制)
- Miller-Rabin素数测试(被测数可以是小于2^63的正整数)
- pollard_rho质因素分解