OI 笑传 #24
水一篇,搬了去年写的东西。
今年修了一些,评价了一些。
【模板】快速幂
不要写递归版。
【模板】双端队列 1
双端队列空间常数大,但可以使用 map 套 list 解决。
【模板】线性筛素数
筛子,建议欧筛起手。
【模板】字符串哈希
线性哈希,可以推广到线段树上。
求解任意区间哈希值的公式:
【模板】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] 仪仗队。
筛法求欧函。

浙公网安备 33010602011771号