acm模板总结

模板链接

 

字符串模板

KMP

EXKMP

Trie

可持久化Trie+DFS

01Trie

Manacher

字符串哈希

  2019上海网络赛G 17

SA(后缀数组) 

  最大不重叠相似子串

  求两个字符串长度不小于 k 的公共子串的个数

SAM (后缀自动机)

  洛谷p3975 求字典序第K小串

  动态求出现至少k次本质不同子串个数

  线段树合并:求在串sl,r区间的子串第k个出现位置

  两个字符串的子串拼接成的不同字符串数量

  SAM+线性基

GSAM(广义后缀自动机)

  一颗字典树每次查询一个给出字符串是字典树上多少串的后缀

  线段树合并

  长度<=m的子串的期望

ACAM (AC自动机)

  HDU2222:查找模式串

  树状数组维护fail树的dfs

  主席树维护fail树的dfs

  长度不超过m的串所得到的最大权值

  DP+AC自动机+最短路

PAM(回文自动机)

  模板

  一个串里所有本质不同的回文子串满足一个串是另一个的子串的对数

  求公共回文串个数

  邻接表优化求 相交回文串对 个数

序列自动机

  求子序列个数

  求两个串的公共子序列个数

  求串回文子序列个数

  求A,B的最长公共子序列S使得CS的子序列

 

数据结构模板

带权并查集

线性基

单纯形

线段树

  历史最值线段树

  位运算线段树

主席树

树状数组

多维树状数组

  树状数组区间加,区间询问

RMQ 

树分治

  最短路径树

  动态树分治(重心树)

  动态维护树的直径(19上海网络A) 

  点分治+三进制加法

  点分治+启发式合并(论文题) 

  输出点乘为K的字典序最小的路径

  Query on a tree IV(边分)

树链剖分

  倍增法BZOJ3083换根操作

  HDU3710 MST+树链剖分+倍增

Splay tree (伸展树) 

  BZOJ1500基本模板 

  BZOJ1208前驱后继 

  在线带修改插入的区间第K 

LCT模板

  基本模板

  BZOJ 3091路径期望查询 

划分树 

左偏树 

图论模板 

支配树 

DFS靠谱找环 

强连通分量(Tarjan) 

双联通分量 

  边双联通 

  点双联通

桥和割顶 

最小树形图 

  固定根 

  不定根 

  不定根路径输出 

最短路径树 

  求包含每条边的最小简单环 

最短路 

SPFA 

K短路 

差分约束 

分层图求最短路 

二分图 

  二分图的判定以及最大匹配数(HDU2444)

  (KM算法(对匈牙利算法的贪心拓展) 

网络流 

  最大流模板:(白书上的) 

  网络流最大流(优化的dinic)表示: 

  求最小点割集为例

  最小路径覆盖并输出路径:

  矩阵解压为例(给出每行的和,每列的和,还原原矩阵

  最小费用最大流

 

posted @ 2019-11-27 15:33  StarHai  阅读(826)  评论(0编辑  收藏  举报