
最短路
追随光、成为光
这个作者很懒,什么都没留下…
展开
-
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 · 348 阅读 · 1 评论 -
Dijkstra无法处理负权边的原因
为啥不能处理负权? 首先我们要清楚一个点:Dijkstra是每次贪心的选择跟当前邻接的点,而不会去考虑处邻接之外的其他点 而如果所有Dijkstra算法适用于不存在负权边的图(有无向均可),这个是因为迪杰斯特拉算法是基于贪心策略,每次都找一个距源点最近的点,然后将该距离定为这个点到源点的最短路径;但如果存在负权边,那么直接得到的最短路不一定是最短路径,因为可能先通过并不是距源点最近的一个次优点,再通过一个负权边,使得路径之和更小,这样就出现了错误。如下: 1——>2权值为5,1——>..转载 2021-05-31 09:20:46 · 5286 阅读 · 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 · 142 阅读 · 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 · 135 阅读 · 0 评论