图论知识点总结1 单源最短路(实时更新)

一、单元最短路模板

1.热浪

https://www.acwing.com/problem/content/1131/

spfa或dijkstra模板

2.信使

https://www.acwing.com/problem/content/1130/

floyd偷懒求法

3.昂贵的聘礼

https://www.acwing.com/activity/content/problem/content/1498/1/

模板套一个应用题。遇到这种描述长的题目不要慌,仔细分析不会很难的。

4.最优乘车

https://www.acwing.com/problem/content/description/922/

最短路不一定是路径长度,也可能是题目中的其它变量,如本题中的换乘次数。

5.最短路计数,(难度更大一点的)观光

https://www.acwing.com/problem/content/description/1136/

https://www.acwing.com/problem/content/385/

最短路和次短路的计数方式

6.bfs,dfs和双端队列bfs求最短路

当边权为固定值的时候,可以用bfs或者dfs,当边权只有两种的时候,可以用双端队列bfs。具体证明从两段性和单调性方面证明(证明略)。

算法名称 能否处理负权边 时间复杂度
dijkstra 不能 O(n^2)
heap-dijkstra 不能 O(mlogn)
bellman-ford O(nm)
spfa O(km)~O(nm)

 

二、建图及搜索方式的变体

1.香甜的黄油

https://www.acwing.com/problem/content/description/1129/

枚举结合单元最短路求最优化问题

2.最优贸易

https://www.acwing.com/problem/content/343/

双向枚举结合单元最短路求最优化问题。通常需要建反边。

3.新年好

https://www.acwing.com/problem/content/1137/

dfs方式枚举结合单元最短路求最优化问题。

4.拯救大兵瑞恩

https://www.acwing.com/problem/content/1133/

分层图+二进制状态压缩

三、综合性的解题技巧

1.通信线路

https://www.acwing.com/problem/content/description/342/

与二分答案相结合

2.道路与航线

https://www.acwing.com/problem/content/344/

当出现负权边,用spfa又超时或被卡的时候,挖掘题目中的限制条件,得出可以用toposort处理负权边。(因为题目肯定是要能做的,所以遇到困难的时候多看看题中有没有特殊性质)

上一篇:DP知识点总结3 状态机模型(实时更新)


下一篇:Android视频播放的两种方式介绍