[OI] 分层图最短路
1.[OI] 树上背包问题2.[OI] 图论3.[OI] 关于最小环和负权环
4.[OI] 分层图最短路
5.[OI] 关于Eratosthenes筛法的优化思路6.[OI] DP7.[OI] 线段树8.[OI] 扫描线9.[OI] KMP10.[OI] 二分图11.[OI] 平衡树12.[OI] pb_ds13.[OI] Kruskal 重构树14.[OI] 模拟退火15.[OI] 可持久化数据结构16.[OI] Testlib17.[OI] 交互 | pipe18.[OI] 二项式期望 DP19.[OI] 整体二分20.[OI] 结构体引用类型转换21.[OI] 猫树22.[OI] 树链剖分23.Borůvka 算法24.线段树分治25.C++ 编译静态链接 (-static)什么是分层图最短路
分层图是指有很多个平行的图,各个平行的图之间有特殊的连接边。
分层图最短路,是在原有的求图中某两个点之间的最短路基础上增加一个条件——可以选择
为什么它叫分层图最短路
一般来说,因为我们并不知道一条边究竟被修改了还是没有,因此不如赋予它两个权值,像这样 同一条边同时有两种及以上不能同时选择的权值 我们就把这几条边看作是在不同的“图层”,这样我们就可以通过一些特殊变形来跑最短路了.
构建分层图最短路
首先,分层图要有“图层”,因此我们需要根据题意来赋予每个图层特殊的意义.
一般来说,我们有以下定义:
当对图进行
那么有:
边
边
所以,我们需要连的边就变成了:
- 每个“图层”内部正常连边
- 假如存在边
,那么连接边 (前提是 ).
大概像下面这样:
建好图后,我们再跑最短路算法就没有问题了.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!