OI 笑传 #24

水一篇,搬了去年写的东西。

今年修了一些,评价了一些。


【模板】快速幂
不要写递归版。

【模板】双端队列 1
双端队列空间常数大,但可以使用 maplist 解决。

【模板】线性筛素数
筛子,建议欧筛起手。

【模板】字符串哈希
线性哈希,可以推广到线段树上。
求解任意区间哈希值的公式:

\[\operatorname{hash}(str[l\sim r])=\operatorname{hash}(str[r])-\operatorname{hash}(str[l-1])*\operatorname{hashvar}^{r-l+1} \]

【模板】Floyd
最短路三件套 #1,有不少好用的性质。
邻接矩阵存边记得边权取 \(\operatorname{min}\)

【模板】拓扑排序 / 家谱树
有某个抽象人赛时写了拓扑套拓扑结果连部分分都没拿满。

滑动窗口 /【模板】单调队列
感觉不如单调栈用的广。

【模板】模意义下的乘法逆元 1
单个乘法逆,板。
可以顺便练习一下 exgcd。
【线性求逆元】乘法逆元
线性求乘法逆,构造公式。
【模板】模意义下的乘法逆元 2
离散乘法逆,是乘法逆完全积性的应用。

【模板】裴蜀定理
题中扩展到了 \(n\) 个数情况下的裴蜀,更常用的是两个数情况下的。

【模板】单调栈
可求解最大矩形面积,左右第一个大于小于位置等。算贡献常客。

【模板】传递闭包
Floyd 应用之一。

【模板】字典树
可以在 trie 上贪心。
多测用完一遍 trie 要把 id 拨到 \(0\)
有个东西叫 01trie 可以实现一种奇怪的平衡树但是不如 fhqtreap。

【模板】并查集
扩域+带权

【模板】树状数组 1
【模板】树状数组 2
比线段树好写点,~~但是感觉不如线段树。 ~~

今年:和线段树平起平坐。

【模板】单源最短路径(弱化版)
【模板】单源最短路径(标准版)
单源最短路全家桶,第一个题可以用来测试 spfa,第二个题测试堆优化 dij。

【模板】最近公共祖先(LCA)
图论重要算法。

【模板】最小生成树
【Prim 算法模板】公路修建
建议 krus 和 prim 都写写。

【模板】负环
spfa 判负环,正环原理相同。
事实上 floyd 也可以判负环。

【模板】ST 表 && RMQ 问题
不如线段树。

今年:和线段树平起平坐。

【模板】差分约束
图论建模经典题。

【模板】缩点
【模板】边双连通分量
【模板】点双连通分量
【模板】割点(割顶)
tarjan 全家桶,求点双的 tarjan corner case 比较多,建议多打几遍。

【模板】欧拉路径
考得不多。

【模板】KMP
字符串。

【模板】线段树 1
【模板】线段树 2
要练熟,可以不会 st 和 树状数组但是不能不会这个。

【模板】全源最短路(Johnson)
用的不是很多。

【模板】二分图最大匹配
【模板】网络最大流
dinic 全家桶,主要是用来求解二分图最大匹配。
可以顺便练习一下链式前向星。

【模板】卢卡斯定理/Lucas 定理
小质数模数优化组合数求解。

【模板】矩阵快速幂
和 dp 长得很像的东西,注意矩阵没有交换律。

【模板】普通平衡树
【模板】文艺平衡树
fhq treap 通用且好写。

【模板】2-SAT
图论建模经典思路

【模板】中国剩余定理(CRT)/ 曹冲养猪
标准 crt。

【模板】高斯消元法
异或/取余方程组也可以高斯消元。

【模板】重链剖分/树链剖分
你敢拼一道 DS 吗?

【欧拉函数模板】 [SDOI2008] 仪仗队
筛法求欧函。

posted @ 2025-10-31 20:01  hm2ns  阅读(3)  评论(0)    收藏  举报