当前位置: 首页 > news >正文

单源次短路 学习笔记

概念补充

  • 非严格次小值:最小值和次小值可以一样长
  • 严格最小值:最小值和次小值不可以一样长
  • 非严格次短路:一张图中非严格次小的路径。
  • 严格次短路:一张图中严格次小的路径。

单元次短路求解方法

方法一:魔改 Dijkstra

用两个距离数组,分别记录最短路和次短路。

当最短路可以更新时,那么次短路就继承之前的最短路的长度。

当次短路可以更新,且次短路更新后不会超过最短路长度,那么次短路更新。

补充:上述方法当且仅当适用于严格次短路,非严格次短路可以去掉最后的次短路更新后不会超过最短路长度的判断。

补充几个注意事项。

  1. 包括距离数组标记数组等在 Dijkstra 上的操作,要开到 \(2\) 维,一维记录节点编号,一维记录在最短路上还是次短路上
  2. 在更新最短路或次短路时,一定要重新加入到堆中。

补充:如果不开两维,那第一次到 \(v\) 这个点是作为最短路进来的,第二次到 \(v\) 这个点是作为次短路进来的,这个时候标记数组只记录了第一次,第二次就拦住了。

实现就和 Dijkstra 几乎一模一样。

代码部分见例题。

方法二:替换边

补充:这里的图指非负权图,实在不行写个 SPFA 也不是不行。

我们先引入一个最小路径图的概念。

如果从一个起点出发,到终点的最短路的路径,就叫做最小路径图

当然,最小路径图不止一条,是可能有很多条的,最小路径图的数量可以用最短路计数的方法求解,Come Here。

\(u\) 的最短路为 \(dis_u\),邻接点为 \(v\)\(u\)\(v\) 的权值为 \(w(u,v)\)

判断一条边是否是最小路径图上的边,可以用判断 \(dis_u + w(u,v)\) 是否等于 \(dis_v\),严格的话反过来判一下。

最小路径图有一个性质,任何路径的长度都是一样的,不然就可以选更小的路径,如果不一样,你一定是写错了。

而且有向图的最小路径图是个 DAG,当然,负权图除外,因为可能有负环。


根据上面的性质,我们可以枚举一条不是最小路径图上的边。

然后,假设路径是从 \(1\)\(n\),顶点为 \(u\)\(v\),边权为 \(w(u,v)\)

\(d(i,j)\) 表示 \(i\)\(j\) 的最短路。

那么新的路径的权值为 \(d(1,u) + w(u,v) + d(v,n)\),就是前缀加后缀加当前边权。

看起来时间会爆炸,但是我们可以从 \(1\) 跑一遍 Dijkstra,从 \(n\) 跑一遍 Dijkstra,这样复杂度就降下来了。

代码部分见例题。

http://www.jsqmd.com/news/1043915/

相关文章:

  • 文心大模型5.0架构深度解析:万亿参数背后的认知操作系统
  • 同克重金条和旧金首饰价差多少?收的顶一次性讲清两种变现逻辑 - 奢侈品回收评测
  • BilibiliDown:开源免费跨平台的B站视频批量下载深度解析
  • 深入解析MC9S12XE BDM:从单线协议到实战调试
  • 2026 常州各区黄金回收行情对比,全城统一标价 - 奢侈品回收测评
  • 汇龙镇汽车维修门店如何择优?连锁快修深度测评 + 修车避坑实用指南 - 国麟测评
  • 去哪里找正规一体化泵站厂家?实测筛选渠道全分享,覆盖一体化 HMPP 泵站与一体化污水处理泵站 - 泵站19832680777
  • 怎样实现buildroot发行版linux系统和windows系统互传文件
  • SoundSwitch音频管理终极指南:3分钟解决Windows设备切换难题
  • 成都收金套路全拆解!收的顶全程可视验金,每一步都透明 - 奢侈品回收评测
  • 2026 青岛铂金回收行情汇总,主流商家报价测评 - 奢侈品回收测评
  • 4个突破性方案解决跨设备游戏库管理难题:Playnite终极指南
  • 2026上海25家翡翠回收门店深度打卡,用真实体验告诉你哪家更值得选 - 奢品小当家
  • 3种方法实现本地语音识别:让whisper.cpp成为你的私人语音助手
  • 2026 常州各区黄金回收行情对比,全城统一标价,收的顶区域无差价更公道 - 奢侈品回收测评
  • 写个题解复建一下说话水平
  • Auto.js:解锁Android自动化的7个神奇技巧,让你的手机聪明起来!
  • 佛山黄金回收怎么选?2026匠心机构排行,全国连锁更靠谱 - 奢侈品回收测评
  • UG NX 12.0 从零到一:新手必备的核心操作与实战技巧
  • 包包回收套路多?禹竞教你识别套路 - 奢品小当家
  • 2026 九江防水补漏靠谱服务商盘点:屋面 / 厨卫 / 外墙 / 地下室渗水维修详解,适配赣北长江鄱阳湖滨江山地防潮防水甄选指南 - 宅安选房屋修缮
  • 卡方检验是一种用于统计学中的非参数检验方法
  • 2026上海正规犬舍推荐排名,高信誉犬舍怎么选? - 官方资讯
  • 智能助手:让系统能解释自己
  • 2026厦门黄金回收靠谱渠道推荐|收的顶硬核合规,新手避雷攻略 - 奢侈品回收测评
  • 为什么一个标签页崩溃不会让整个浏览器卡死?——聊聊浏览器的多进程架构
  • 调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
  • 5步精通Path of Building PoE2:流放之路2角色构建终极指南
  • 2026成都黄金回收完整实操攻略|行情研判、计价方式、交易流程一站式汇总 - 奢侈品回收评测
  • 2026深圳黄金回收流程攻略,多家门店横向对比哪家更划算 - 奢侈品回收测评