![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
追随光、成为光
这个作者很懒,什么都没留下…
展开
-
ACwing 853. 有边数限制的最短路(Bellman-ford)
给定一个nn个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出从11号点到nn号点的最多经过kk条边的最短距离,如果无法从11号点走到nn号点,输出impossible。注意:图中可能存在负权回路。输入格式第一行包含三个整数n,m,kn,m,k。接下来mm行,每行包含三个整数x,y,zx,y,z,表示存在一条从点xx到点yy的有向边,边长为zz。输出格式输出一个整数,表示从11号点到nn号点的最多经...原创 2021-04-09 17:32:39 · 267 阅读 · 1 评论 -
Dijkstra无法处理负权边的原因
为啥不能处理负权?首先我们要清楚一个点:Dijkstra是每次贪心的选择跟当前邻接的点,而不会去考虑处邻接之外的其他点而如果所有Dijkstra算法适用于不存在负权边的图(有无向均可),这个是因为迪杰斯特拉算法是基于贪心策略,每次都找一个距源点最近的点,然后将该距离定为这个点到源点的最短路径;但如果存在负权边,那么直接得到的最短路不一定是最短路径,因为可能先通过并不是距源点最近的一个次优点,再通过一个负权边,使得路径之和更小,这样就出现了错误。如下:1——>2权值为5,1——>..转载 2021-05-31 09:20:46 · 4729 阅读 · 0 评论 -
洛谷P5764 新年好(dijkstra堆优化+DFS)
重庆城里有nn个车站,mm条双向公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上花费的时间等于路径上所有公路需要的时间之和。佳佳的家在车站11,他有五个亲戚,分别住在车站a,b,c,d,ea,b,c,d,e。过年了,他需要从自己的家出发,拜访每个亲戚(顺序任意),给他们送去节日的祝福。怎样走,才需要最少的时间?输入格式第一行:包含两个整数n,mn,m,分...原创 2021-04-11 11:13:17 · 100 阅读 · 0 评论 -
ACwing 851. spfa求最短路
给定一个nn个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出11号点到nn号点的最短距离,如果无法从11号点走到nn号点,则输出impossible。数据保证不存在负权回路。输入格式第一行包含整数nn和mm。接下来mm行每行包含三个整数x,y,zx,y,z,表示存在一条从点xx到点yy的有向边,边长为zz。输出格式输出一个整数,表示11号点到nn号点的最短距离。如果路径不存在,则输出imposs...原创 2021-04-09 17:55:03 · 99 阅读 · 0 评论