最短路
Dijkstra
Johnson全源最短路(如何用Dijkstra跑带负权的图)
- 通常带负环、负权边的最短路问题都是用 S p f a Spfa Spfa 或 F l o y d Floyd Floyd 求解,但两者的时间显然过大。普通 D i j k s t r a Dijkstra Dijkstra 基于贪心思想,要求图中边都是正权。
- J o h n s o n 全 源 最 短 路 Johnson全源最短路 Johnson全源最短路 可以在预处理后在 O ( m l o g m ) O(mlogm) O(mlogm) 的时间内用 D i j k s t r a Dijkstra Dijkstra 跑带负权边的图
洛谷:P1875 佳佳的魔法药水(有向有环图 + Dijkstra变式)
- 虽然堆优化 Dijkstra 很好用,但也不要忽视了 朴素版 Dijkstra 的本质。
Floyd
2021辽宁省大学生程序设计竞赛 B. 阿强的路(多条件状态转移 + Floyd变式)
洛谷:P1730 最小密度路径(多条件状态维护 + Floyd变式 + 枚举维护最优子结构)
洛谷:P1476 休息中的小呆(Floyd求最短路 + 升序记录路径)
洛谷:P1613 跑路(倍增 + Floyd维护最短路)
P1119 灾后重建(基础Floyd原理的理解和运用)
P1522 [USACO2.4]牛的旅行 Cow Tours(Floyd多源最短路)
Spfa 求负环 / 01分数规划 / 差分约束
二分答案
P1462 通往奥格瑞玛的道路(图论二分答案)
分层图
牛客:小雨坐地铁
- 分层图入门 + Djikstra
洛谷:P1266 速度限制
- 图上dp,单层信息不足以存储,那就得分多层。
洛谷:P4568 [JLOI2011]飞行路线
正反图应用
洛谷:P5304 [GXOI/GZOI2019]旅行者(二进制暴力枚举 / 建反图染色法)
- 此题可以证明正反图处理的正确性,也有二进制枚举的暴力解法。
洛谷:P2685 [TJOI2012]桥(正反图、区间维护)
- 正反图跑出两个最短路树结构,在交织中观察出区间维护性质,用线段树处理,难度较高。
路径记录
洛谷:P2832 行路难(堆优化Dijkstra(错解)bfs(正解) + 记录路径)
- 此题的独特性质导致记录路径需要用 bfs (通常是维护 父节点 数组)
DP
洛谷:P3556 [POI2013]MOR-Tales of seafaring(拆点 + 奇偶最短路)
- 类似状态机 dp 去维护两种最短路。包含简单路径的定义。
洛谷:P2620 虫洞(离散化 + 最短路递归建边)
- 杂合了很多内容的最短路,难度较高,建图的过程用到 dp 思想,用递归处理非常巧妙。
Codeforces周赛 #765 (Div.2):C. Road Optimization(线性DP / 图论)
- 图建好,跑最短路的过程也是 dp 的一种形式
染色法 —— 二分图
染色
洛谷:P1155 [NOIP2008 提高组] 双栈排序(二分图、模拟)
- 此题不仅要在题目中挖掘出二分图性质,还要模拟栈的运行过程,容易出错。
2021 ICPC 区域赛(沈阳)B-Bitwise Exclusive-OR Sequence(异或环、二分图染色变种、贪心)
- 不错的染色法应用题,涉及异或数学知识的染色,空间大小要注意。
洛谷:P1330 封锁阳光大学(二分图染色 + 最小同色点覆盖)
- 最小点覆盖是指:最小的点覆盖图中所有边,点集中的点有可能相邻。
牛客月赛:F-全体集合(二分图染色 + 性质)
- 二分图性质:没有奇数环存在,若有,必定有点可以通过走奇数环来变色。
二分图匹配
洛谷:P1129 [ZJOI2007] 矩阵游戏(二分图最大匹配)
- 对行列的建边处理
Acwing:泥地(二分图的匹配 —— 最小点覆盖)
- 思维上更巧妙的最小点覆盖应用
拓扑序列
P1347 排序(拓扑序列 / Floyd传递闭包)
- 用拓扑判断有无解。
强连通 / 双连通
洛谷:P1262 间谍网络(强连通缩点 + 拓扑序维护信息)
- 题目信息要考虑全,思考所有数据情况。
欧拉路径
洛谷:P2407 [SDOI2009]地图复原(标记欧拉回路)
图的遍历
P1363 幻象迷宫(图论 ? 搜索)
- 比较特别的一道搜索题(分类为图论?理论上也是图)
洛谷例题:图的遍历、记录(有自环/无自环)
- 遍历图时,可以通过标记已经走过的路径来减少时间,使得整个图只被走一次
洛谷:P3907 圈的异或(无向图找环 + 异或前缀和)
洛谷:P1444 [USACO1.3]虫洞 wormhole(找环 + 枚举暴搜)
- 搜索时,对点和边搜索的安排,和顺序安排会有奇效
洛谷:P1653 猴子(图存储、逆向思维 删边 -->加边)
- 考察反向处理询问
洛谷:P2189 小Z的传感器(并查集染色)
- 不是染色法,但模拟染色的过程,用并查集维护使得时间可以接受。
杂项
洛谷:P1524 十字绣(图论中 (出 / 入) 度的应用)