review
1|0DP
1|1动态 DP
❌模板
1|2整体 DP
线段树合并时,当 其中一个没有儿子时,就打标记返回。[PKUWC2018] Minimax [ZJOI2019] Minimax搜索 [CEOI2019] Magic Tree
1|3概率期望 DP
求期望时,可以试试对状态差分。
条件概率:。
贝叶斯公式:。
计数转概率:[AGC030D] Inversion Sum
1|4计数 DP
和区间有关的计数大部分都是先离散化转为左闭右开 后再处理。某位歌姬的故事 [APIO2016] 划艇
1|5树形 DP
长链剖分:用 实现。Dominant Indices [POI2014]HOT-Hotels [WC2010]重建计划
序优化背包:决策是否加入当前子树。
1|6决策单调性
1|7斜率优化
单调, 单调,单调队列维护。
单调, 不单调,凸包上二分。[SDOI2012] 任务安排
不单调, 不单调, 分治或平衡树维护。[NOI2007] 货币兑换
用李超线段树来维护更方便。[CEOI2017] Building Bridges
树上点分治斜率优化。[NOI2014] 购票
1|8凸优化
[八省联考2018] 林克卡特树 至多选 个:[CEOI2011] Hotel
注意考虑凸包上共线的情况,就是最后计算答案时不能用 求出的个数 ,要用给定的限制 。
2|0数据结构
2|1线段树
维护单调栈:楼房重建 [HNOI/AHOI2018] 转盘 区间查询:实现 粉兔文章
李超线段树:模板:[CEOI2017] Building Bridges 线段树合并:CF932F Escape Through Leaf 线段:[HEOI2013] Segment
❌势能线段树
2|2dsu on tree
处理静态子树询问。CF208E Blood Cousins CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
2|3LCT
维护子树和连通块:SP16580 QTREE7 - Query on a tree VII
2|4K-D Tree
重构:简单题 打标记:[Ynoi2008] rrusq 方方方的数据结构
注意是平衡树写法,节点上有信息。
2|501 Trie
整体加 :[省选联考 2020 A 卷] 树 整体异或、求 :[清华集训2016] Alice 和 Bob 又在玩游戏 可持久化:[HEOI2013] ALO
3|0图论
3|1同余最短路
[国家集训队] 墨墨的等式 CF516E Drazil and His Happy Friends
3|2最小环
外层循环枚举到 时,用 更新答案,其中 为最短路径长度, 为边权。
3|3二分图
最大匹配必须边:满流,且 和 在残量网络上属于不同的强连通分量。
最大匹配可行边:满流,或 和 在残量网络上属于同一个强连通分量。
最大匹配必须点:在残量网络上,以 为起点遍历流量为 的边,没有遍历到的匹配点为左部图的必须点,以 为起点遍历流量为 的边,没有遍历到的匹配点为右部图的必须点。(这里遍历的就是未满流边)
霍尔定理:最大匹配为 ,其中 是和 相连的点集。(再做几个相关题)
最小点覆盖 最大匹配 [USACO05JAN] Muddy Fields G
最小边覆盖 最大匹配
最大独立集 最大匹配 CF1404E Bricks
的最小路径点覆盖 拆点二分图最大匹配
定理:最长反链 最小可重链覆盖
3|4网络流
注意流量为实数时的精度问题,不能用极大值减较小值,会舍掉精度。
最小割可行边:满流,在残量网络上不存在 到 的路径。(缩点后判断,等价于 属于不同的强连通分量)
最小割必须边:满流,是可行边,在残量网络上存在 到 和 到 的路径。(缩点后判断,等价于 和 属于同一个强连通分量, 和 属于同一个强连通分量)
退流:要删掉边 , 到 跑最大流, 到 跑最大流,总流量减去这两个最大流的较小值,然后就能直接删掉 了。[SDOI2014] LIS 元旦老人与丛林 [八省联考2018] 劈配
最大权闭合子图:正权点权值和 最小割。
最大密度子图:二分 ,得 ,转化为最大权闭合子图。
❌上下界:有源汇转无源汇时记得加 。求最小流时,加这条边前就跑一遍最大流,加了后再跑一遍最大流,这条边的流量就是最小流。
❌循环流
3|5Tarjan
:在以点 为根的子树内的点通过非树边的一条边到达的 最小的节点 的 值, 能到达 。
强连通分量:,更新 时判 。
点双连通分量:。
边双连通分量:,更新 时判 。
3|6圆方树
只有圆方边,圆点度数为去掉该点后形成的连通块个数,方点度数为点双大小。
处理仙人掌时两点一边间不再新建方点,即存在圆圆边。
3|7差分约束
❌
如果我们有一些限制形如
那么我们可以把它联系到最短路上,如果 有一条长度为 的边,那么必然有
这样我们求最短路,可以得到 的最大值
为什么是小于等于号却是最大值呢,因为我们是从正无穷向下规约的
3|82-SAT
一个存在后另一个必须存在:
不能同时存在: 必须同时存在:
至少存在一个: 至多存在一个:
不能存在: 必须存在:
选择缩点后编号较小的状态。要连逆否命题。
前缀优化建图:[PA2010] Riddle CF1215F Radio Stations CF1007D Ants CF587D Duff in Mafia
3|9最小树形图
3|10斯坦纳树
3|11虚树
注意清空的复杂度。
3|12欧拉图
3|13Kruskal 重构树
3|14三元环
四元环:
3|15k 短路
3|16哈密顿图
P3561
3|17Prufer 序列
长为 ,值域为 , 的出现次数为其对应的有标号无根树中 的度数减一。
个连通块,加 条边使图连通的方案数为 。
4|0数学
4|1线性基
本质是消元,可以用来求解异或方程组。求第 小异或和时,将线性基的第 位消元为只有二进制中的第 位为 即可。实现
4|2多项式
牛顿迭代:
4|3类欧几里得算法
4|4欧拉定理
4|5中国剩余定理
:解为 ,其中 ,即 为 在模 意义下的逆元。(注意计算 时,不要对 取模)
:两两合并方程:
4|6卢卡斯定理
扩展卢卡斯定理:
小, 大, 为合数时计算组合数的方法:预处理阶乘时不算 质因子的贡献,这样就有了逆元,计算组合数时再加上质因子的贡献。CF896D Nephren Runs a Cinema
取模技巧:[CEOI2004] Sweets [SDOI2013] 项链
4|7BSGS
取 时要上取整。要注意 解比较小的情况。
4|8Pollard-Rho
4|9置换群
引理:
定理:
4|10筛法
4|11博弈论
4|12反演
莫比乌斯反演:
二项式反演:
注意是钦定,不是至少至多。
单位根反演:
4|13原根
若 ,则 为模 的一个原根。最小原根大小是 的,用 检验暴力求即可。
4|14二次剩余
5|0字符串
5|1border
:若 是字符串 的周期,且 ,则 也是 的周期。
5|2AC 自动机
要注意根为 。
5|3后缀自动机
若维护了一个节点的 集合的最小位置,新建 时,要从 继承。
广义后缀自动机暴力跳 时打标记来保证正确性(每个串只有一次贡献)和复杂度()。[SCOI2012] 喵星球上的点名
5|4回文树
5|5扩展 KMP
5|6Lyndon Word
6|0计算几何
6|1凸包
6|2半平面交
6|3闵可夫斯基和
7|0杂项
7|1莫队
7|2CDQ 分治
7|3模拟退火
7|4根号分治
__EOF__

本文链接:https://www.cnblogs.com/lhm-/p/14381438.html
关于博主:sjzez 的一名 OI 学生
版权声明:转载标明出处
声援博主:希望得到宝贵的建议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2020-02-06 题解 洛谷 P4336 【[SHOI2016]黑暗前的幻想乡】