![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM模板
ThXe
这个作者很懒,什么都没留下…
展开
-
ACM常用模板目录
目录原创 2022-08-05 12:15:46 · 405 阅读 · 0 评论 -
ST表模板
st表原创 2022-11-11 21:41:07 · 88 阅读 · 0 评论 -
最长上升子序列
nlogn解最长上升子序列模板原创 2022-10-28 18:13:22 · 313 阅读 · 0 评论 -
二维平面最短路模板
二维平面原创 2022-10-26 00:36:51 · 80 阅读 · 0 评论 -
字符串映射编号
字符串编号映射原创 2022-10-25 23:54:32 · 91 阅读 · 0 评论 -
KMP模板
KMP原创 2022-10-25 23:47:38 · 67 阅读 · 0 评论 -
树状数组求逆序对
树状数组求逆序对原创 2022-10-25 23:45:54 · 59 阅读 · 0 评论 -
图论进阶算法知识点整合
图论算法原创 2022-09-08 11:43:48 · 212 阅读 · 0 评论 -
2—SAT
2-SAT原创 2022-09-08 10:48:32 · 126 阅读 · 0 评论 -
最小割树模板
最小割树原创 2022-09-08 10:35:00 · 112 阅读 · 0 评论 -
Kruskal重构树
Kruskal重构树原创 2022-09-07 22:30:01 · 147 阅读 · 0 评论 -
Kruskal模板
Kruskal原创 2022-09-07 21:22:43 · 106 阅读 · 0 评论 -
exKMP
exKMP原创 2022-09-07 20:44:55 · 101 阅读 · 0 评论 -
树链剖分模板
树链剖分原创 2022-09-06 23:00:53 · 122 阅读 · 0 评论 -
无源汇上下界可行流
上下界可行流原创 2022-08-24 15:39:26 · 77 阅读 · 0 评论 -
Trie模板
Trie原创 2022-08-10 22:04:45 · 69 阅读 · 0 评论 -
拓扑排序模板
拓扑排序原创 2022-08-10 21:57:50 · 92 阅读 · 0 评论 -
快速幂与逆元
快速幂原创 2022-08-10 21:50:18 · 118 阅读 · 0 评论 -
FFT模板
FFT模板原创 2022-08-08 22:45:02 · 147 阅读 · 0 评论 -
组合数模板
组合数+lucas定理原创 2022-08-08 20:37:35 · 108 阅读 · 0 评论 -
差分、前缀和模板
二维前缀和、差分、二阶差分模板原创 2022-08-08 18:55:10 · 111 阅读 · 0 评论 -
Johnson全源最短路
Johnson原创 2022-08-06 11:52:27 · 215 阅读 · 0 评论 -
并查集模板
DSU原创 2022-08-06 10:14:40 · 74 阅读 · 0 评论 -
Folyd
folyd原创 2022-08-05 15:58:48 · 77 阅读 · 0 评论 -
Dijkstr堆优化
Dij原创 2022-08-05 12:32:22 · 96 阅读 · 0 评论 -
ACM常用头文件
头文件原创 2022-08-05 12:25:39 · 585 阅读 · 0 评论 -
SPFA模板
SPFA原创 2022-08-05 12:15:05 · 96 阅读 · 0 评论 -
PAM 回文自动机
PAM原创 2022-08-01 16:04:23 · 248 阅读 · 0 评论 -
Prufer序列
Purfer原创 2022-07-30 17:39:50 · 196 阅读 · 0 评论 -
字符串——Trie
trie原创 2022-07-30 17:02:39 · 177 阅读 · 0 评论 -
图论——强连通分量缩点+拓扑排序
缩点+DP+拓扑排序原创 2022-07-30 16:39:35 · 190 阅读 · 0 评论 -
数据结构——带修改线段树(区间求和)
带修改线段树题意:区间加减+区间求和O(qlogn)int n, m;int w[N];struct Node{int l, r;LL sum, add;}tr[N*4];void pushup(int u){tr[u].sum = tr[u << 1].sum + tr[u << 1 | 1].sum;}void pushdown(int u){auto &root = tr[u], & left = tr[u << 1], & r原创 2022-03-28 15:34:58 · 364 阅读 · 0 评论 -
图论——无向图点双连通分量(求割点)
无向图点双连通分量(求割点)题意:给定一个由 n 个点 m 条边构成的无向图,请你求出该图删除一个点之后,连通块最多有多少。如果这个图是一个树的话啊,那么可以用dfs求解O(N)但是是一个图可能存在环用dfs会相当麻烦,因此利用割点来求会方便很多。对于整个图来说假如有cnt个连通块,如果一个连通块i不存在割点,那么最大值就是cnt + 1, 如果连通块存在割点,那么最大值就是cnt - 1 + x(删除割点剩余的连通块数目 + x本身算一个点);const int N = 10010, M = 300原创 2022-03-23 23:05:18 · 515 阅读 · 0 评论 -
图论——有向图边连通分量(模板)
有向图边连通分量(模板)题意:给定有向图,问最少加多少边能使得图变为边连通分量解法:tarjan缩点之后,整个图变为一颗树,答案就是叶子节点(度数为1)的一半。const int N=1e5;int n,m;int h[N],e[N],ne[N],idx;int is_bridge[N];int timestamp,dfn[N],low[N],dcc_cnt,id[N];int d[N],stk[N],top;//点数、边数、邻接表、是否为桥、时间戳、dfs序号、最小dfs祖先、有向图连通分量数量原创 2022-03-23 14:31:35 · 485 阅读 · 0 评论 -
图论——最先公共祖先(LCA)模板
祖孙询问给定n个节点,m条边,输入a,b代表a,b间有个无向边,b=-1时为根,m组询问a是b的祖先时输出1,反之输出2,互不为输出0.const int N = 40010, M = N * 2;//点数、边数最大值int n, m;int h[N], e[M], ne[M], idx;int depth[N], fa[N][16];//depth代表深度 fa[i][k]代表节点i向上跳2^k次的节点编号int q[N];void add(int a, int b){ e[idx]原创 2022-03-22 23:00:29 · 691 阅读 · 0 评论