首页 > 其他分享 >最短路图

最短路图

时间:2024-11-25 18:21:51浏览次数:3  
标签:dis1 dis2 DAG 短路 图上 正向

最短路图

type1 : 给定一张有向图,起点s,终点t
求s到t的所有最短路组成的DAG(没有负环的最短路图一定是DAG)
首先需要建一张正向图,一张反向图
dis1[] 表示正向图上点s到所有点的最短距离,dis2[]表示反向图上点t到所有点的最短距离
考虑正向图上的一条边(edge){u,v,w}
如何判断这条边需不需要加入最短路图呢?
很显然只需要满足
dis1[u]+w+dis2[v]==dis1[t] 就ok

定理:
i→j 的最短路径的任意一条子路径 u→v,都是最短路径。

type2 :只有源点s。判断一条边 u→v 是否在最短路图中,只需判断是否 dis[u]+val(u→v)==dis[v]。
证明显然。

标签:dis1,dis2,DAG,短路,图上,正向
From: https://www.cnblogs.com/water-flower/p/18568332

相关文章

  • OSPF开放最短路径优先协议
    OSPF作为一种基于IP协议号89的链路状态内部网关动态路由协议根据IP的版本讲OSPF分为OSPFv2(ipv4版本)和OSPFv3(ipv6版本),OSPFv1被扼杀于实验中本文讲述OSPFv2(声明:本文不详细解释LSA和特殊区域,请查看LSA详解)SPF算法又称为Dijkstar算法,通过一次次迭代计算出一个节点到每个节点的......
  • 最短路径Dijkstra算法
    大家好!今天我想给大家讲一个非常有趣的算法,叫做Dijkstra算法。这个算法可以帮助我们在图中找到从一个点到另一个点的最短路径,就好像我们在玩一个寻找宝藏的游戏!故事开始想象你住在一个湖边,湖上有很多小岛,每个小岛之间都有桥连接,但是这些桥的长度不一样,有的很短,有的很长。现在......
  • 图论最短路算法笔记
    1图的基本操作1.1图的存储图存储有两种方法:邻接表和邻接矩阵。邻接表:g[N][N]={};...memset(g,0x3f,sizeofg);g[u][v]=w;邻接矩阵:inthead[N]={};memset(head,0x3f,sizeofhead);structedge{intpre,to,val;}EDGE[N];inlinevoidaddedge(......
  • 图论day64 :最短路径算法 | SPFA(Bellman_ford的队列优化版)、城市间货物运输 I、Ⅱ、Ⅲ
    图论day64:最短路径算法|SPFA(Bellman_ford的队列优化版)、94.城市间货物运输I(卡码网)【SPFA算法+邻接表优化】、95.城市间货物运输II(判断负权回路)、96.城市间货物运输III【已知有负权回路,该如何计算】、Bellman_ford算法思维导图汇总SPFA(Bellman_ford的队列优化版)94......
  • 最短路
    dijkstra更好的理解主要思想:每次确定一个点的最短距离我们将图分为2块,一块为最短距离确定的点集,一块为没有确定最短距离的点集,通过前者向后者拓展,来求得答案我们将所有已经有dis数值的点加入堆,然后每次dis数值最小的它的dis值就是最终的dis距离,所以可以将其加入到距离确定点集......
  • 18732 最短路问题
    ###思路1.**建模问题**:将车站和公交线路建模为图,其中车站是节点,公交线路是带权边。2.**选择算法**:使用Dijkstra算法求解从车站1到车站n的最短路径问题。3.**初始化**:创建一个优先队列(最小堆)来存储当前节点和到达该节点的最小花费。初始化所有节点的最小花费为无穷大,起......
  • NOI提高级 图论算法:单源次短路
    DIJ(单源次短路)-TwoPaths-HDU6181DIJ(单源次短路)-TwoPaths-HDU6181-CSDN博客单源次短路(P2829大逃离)单源次短路(P2829大逃离)-CSDN博客单源次短路算法学习笔记单源次短路算法学习笔记-Wiueh_Plus-博客园次短路及次短路计数次短路及次短路......
  • Leetcode 864. 获取所有钥匙的最短路径
    1.题目基本信息1.1.题目描述给定一个二维网格grid,其中:‘.’代表一个空房间‘#’代表一堵墙‘@’是起点小写字母代表钥匙大写字母代表锁我们从起点开始出发,一次移动是指向四个基本方向之一行走一个单位空间。我们不能在网格外面行走,也无法穿过一堵墙。如果途经一个......
  • #4. 图的存储、最短路(未完结)
    bro高一才开始自学图论图的存储建议无脑用链式前向星0x01.什么是链式前向星定义(摘自OIwiki)本质上是用链表实现的邻接表具体来说:以有向边的形式,\(head\)数组存当前边的编号,\(e[i].nxt\)数组存上一次加的以\(u\)为起点的边的编号,这样就能实现用\(head[u]\)和\(......
  • 【MATLAB源码-第239期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路
    操作环境:MATLAB2022a1、算法描述孔雀优化算法(PeafowlOptimizationAlgorithm,简称POA)以孔雀(peafowl)的求偶展示行为为灵感,通过模拟这一过程来解决复杂的优化问题。以下是对孔雀优化算法的详细描述:孔雀优化算法是一种基于自然界中孔雀求偶展示行为的群体智能优化算法。孔雀......