图论-分层图最短路
引言
——“分层图最短路”顾名思意,可以知道是在分层的图上跑最短路得算法。当我开始学习这个算法是,看到这个算法名,总有些雨里雾里的。什么是分层,为什么要分层,怎么分层?
概念
概念:分层图最短路的模型就是在最短路模型的基础上加上
最短路与分层图最短路
-
最短路模型:给定n个点m个条路,求从s出发到t的最短距离
-
分层图最短路模型:给定n个点m条路以及k个决策,再求出s到t的最短距离
方法
-
直接构建
层平行的图 -
多开一维记录决策信息
方法一 建立平行图
-
建图
-
处理
个决策:对于 个决策,我们可以开 层与初始图相同的图。不同图得跨越就是不同决策,我们根据题意建设不同平行层之间的联系。 -
跑最短路。
例:给定一个图,有k次决策,可以使两点之间的边权变为0。 例子如图——
注意事项:因为有k层图,相当于初始图要存k遍,图的范围被扩大,时间和空间复杂度都要有所注意。
方法二 记录决策信息
还没学。
学习参考:
作者:wh1sky
出处:https://www.cnblogs.com/wh1sky/p/17819543.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文来自博客园,作者:Wh1sky,转载请注明原文链接:https://www.cnblogs.com/wh1sky/p/17819543.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!