最短路网络

学长 Mikakoko 在 ICPC 比赛中退役了,根据惯例,他要写一篇小作文(手动滑稽)。

image


最短路相关的问题太多啦,这篇小作文只能简单介绍其中的一部分。
在连通的无向正权图上,给定源点 \(S\),我们能计算得到所有 \(\text{dis}(S, x)\)

如果一条边 \((u \xrightarrow{w} v)\) 满足 \(\text{dis}(S, u) + w = \text{dis}(S, v)\)
那么我们将这条边加入最短路网络。

这样我们可以得到对应的最短路网络,是一个有源点 \(S\)\(\text{DAG}\)
因为存在源极点,在这个 \(\text{DAG}\) 上还必然可以生成一颗最短路树。

为什么建立这两个结构呢?这两个结构是正权图的最短路重构结构。
使用它们,能更好地帮助我们注意到一些信息。

  1. 经典题目
  2. 套用分治
  3. 无向图,删边最短路
  4. 有向图,单位边权删边最短路(Roditty, Zwick, 2005)

经典题目

我们用这些题目了解一下最短路网络的功能,只保留有用的关键信息!

abc375_g

对于正边权的无向图,给定起点 \(S\) 和终点 \(T\),求最短路必经点,必经边。
\(n,m \le 10^5\)

P.S. 就算是有向图也是一样的。

Solution 1

在原图上,以 \(S\) 作为起点;在反图上,以 \(T\) 作为起点;
分别求出计算出 \(S, T\) 到每个点的最短距离,建立两个最短路网:

  • 对于顶点:满足 \(\text{dis}(S, x) + \text{dis}(T, x) = \text{dis}(S, T)\),那么加入最短路网
  • 对于边:满足 \(\text{dis}(S, u) + w + \text{dis}(T, v) = \text{dis}(S, T)\),那么加入最短路网

\(\text{DAG}\)\(dp\),可以求出沿最短路,走到每个点的方案数 \(f, g\)
如果 \(f (x) ⋅ g (x) = f (T) = g(S)\),那么 \(x\) 是必经点。
如果 \(f (u) ⋅ g (v) = f (T) = g(S)\),那么 \((u, v)\) 是必经边。
注意 \(f, g\) 可能很大,需要自己取几个大质数做哈希。

Solution 2

让 Tarjan 爷爷求最短路网的割边、割点。它们就是对应的必经边和必经点。

在这个问题上,看起来确实是后者这个算法更好,因为它是确定性算法。

但是前者的思想 “判断性问题转计数” 是非常重要的,而且在 ICPC 中也有考察过。

CF1005F

给定一张简单无向图,边权为 \(1\)
输出 \(S\) 为起点本质不同的最短路树的数量。
此外你要输出 \(k\) 颗不同的最短路树,保证总输出量在合理范围内。
\(n,m,k \le 2 \cdot 10^5\)

Solution

对于有唯一源点的 DAG,每个点都有入度种父亲可以选择。故方案数就是最短路网上每个节点的入度的乘积。我们考虑一棵树,树上只有一个点没有父亲,其余都有。如果已经确定了一个没有父亲的结构(在本题是源点 \(S\)),那么这个 DAG 上其他点任意选择父亲,最后产生的一定还是树形图。

输出方案的话可以随便 \(dfs\) 搜索一下。

CF1076D

给定一张正边权简单无向图,你要删到只剩 \(k\) 条边。
在最后的图上,如果 \(x\)\(1\) 的最短距离和原图一样,那么 \(x\) 是一个好点。
请构造一个删边方案,使得好点最多。
\(n,m,k \le 3 \cdot 10^5\)

Solution

\(\text{DAG}\) 的基础上可以随便搜出来一颗最短路树。
或者在 \(\text{Dijkstra}\) 过程里记录前驱也能随便得到一个。

根据最短路树的产生方法,树上的 \(\text{dis}(1, x)\) 就是最短路距离。
我们在 \(1\) 的最短路树上任找 \(k\) 条边,使得最后的结构与 \(1\) 连通即可。
有可能树上没有 \(k\) 条边,这个时候选一些别的边就行。

CF545E

给定一张正边权简单无向图,和一个根 \(S\)
求边权和最小的,以 \(S\) 为根的最短路树。
需要构造方案。
\(n,m \le 3 \cdot 10^5\)

Solution

\(\text{DAG}\) 的基础上可以随便搜出来一颗最短路树。
\(\text{Dijkstra}\) 过程里记录前驱也能随便得到一个。
但是最短路树的形态很多,并不是任何一颗都是边权和最小的。

手玩一下可以发现,当多条边可以松弛某个点,选择尽可能小的边来松弛,就能使得总边权最小。
感性理解:这样做相当于把长边拆成多个短边(松弛了更多的点)。

实现时,考虑一个 \(\text{Dijkstra}\) 的特性,我们有一个优先队列,越往后点权越大。
如果多个点都有边可以松弛某个点,越晚松弛的,点权越大,那么边权越小,所以可以:

  • 在跑最短路的时候,如果满足三角不等式,那么正常更新。
  • 如果三角不等式恰好取等,那么把目前使用的边设置为树边(覆盖之前的)。

套用分治

这一类题的本质是分治最短路,即在分治结构上跑最短路。
并不必须依赖最短路 “网络” 的结构,所以这个只放了一个相关例题。

CodeChef-QGRID

有一个 \(3 \times n\) 的网格图,正边权,初始所有点权为 \(0\),有 \(q\) 次操作:

  • 使得 \(u, v\) 所有最短路径上的点权加 \(x\)保证询问中的最短路径唯一
  • 查询一个点的点权。

\(n,q \le 10^5\)

Solution

如果 \(u, v\) 之间的最短路经 \(S\) 过了点 \(m\),那么 \(S\) 会出现在以 \(m\) 为根的最短路树上。

我们先对这个网格图分治,每次以分治中点的 \(3\) 个点为根,建立最短路树,共 \(3n\) 棵。
如果最短路经过了 \(\text{mid}\),则 \(u,v\) 只有如下的两类情况:

  1. \(u,v\) 分居 \(\text{mid}\) 两侧,可能出现在 \(\text{mid}\) 同列上。
  2. \(u,v\)\(\text{mid}\) 同侧,走出了一个 \(\text{U}\) 形路线。

不管哪种情况,只要我们分治时把点集分为 \([L,\text{mid})\)\((\text{mid},R]\),那么一旦最短路径出现在了 \(\text{mid}\) 为根的最短路树上,就不会出现在其他层的最短路树上了。

随后在线处理修改和询问,因为查询非常特殊,是单点查询,所以可以对修改操作进行转化:

  • 对于修改 \((u,\)\(, v)\) 的简单路径加一个值 \(c\),可以转化成单点加(对 \(u, v\)\(c\),对根减 \(c\)
  • 这样技术处理以后,单点查询只需要在 \(3\log\) 棵树上,对询问的点 \(x\),做 \(x\) 子树的区间查询。

时间 \(O((n+q) \log^2 n)\),空间 \(n \log n\)


无向图删边最短路

这类问题叫做 Replacement Paths 问题,意思是如果替换了图上的一条边,最短路会如何变化?
如果把边权替换为 INF,则可以认为等效删除了这条边。

[TJOI2012] 桥

给定带权无向图,独立删除每条边。每次你要回答 \(1\)\(n\) 的最短路长度。
\(n,m \le 2 \cdot 10^5\)

Solution

我们找 \(1\)\(n\) 的任意一条最短路(是一条简单路径,后面称为链)
那么不在链上的边,在删除后一定不影响答案。

我们考虑先找出这样一条链来,然后以 \(1, n\) 为根分别建立最短路树。
使得这两颗树 同时 包含这条链。实现时可以从链的两端开始,在 DAG 上搜索。

\(1\) 的最短路树上求出所有 \(\text{lca}(x, n)\),叫做 \(L_x\)
\(n\) 的最短路树上求出所有 \(\text{lca}(x, 1)\),叫做 \(R_x\)

观察,经过非链边 \((u, v)\) 的最短路一定可以形如 \(1 \to L_u \to u \to v \to R_v \to n\)
所以在一开始的最短路链上,如果删除了 \([L_u, R_v]\) 内的任一条边,则可以用这条路径取代。
我们考虑维护出链上每条边被删除后的新答案,这条路径的代价 \(c = \text{dis(1,u)}+w+\text{dis(v,n)}\)
对链上的区间 \([L_u, R_v]\) 里对应的边,做 \(\text{chmin}( \text{val}, c)\),这样最后能计算出删除任意链边的答案。

注意这个过程是离线的,可以利用 \(\text{multiset}\) 差分,来避免写线段树。
注意无向图的 \(u,v\) 可以反过来。

CF1163F

给定带权无向图,独立修改每条边。每次你要回答 \(1\)\(n\) 的最短路长度。
\(n,m \le 2 \cdot 10^5\)

Solution

根据套路,取出 \((1, n)\) 路径上的这条链,然后建两颗最短路树。
如果修改的是非链边,答案为 \(\text{dis}(1, u) + \text{dis}(v, n) + w\) 和最短路取 min。
如果修改的是链边,则在 \(\text{dis}(1, u) + \text{dis}(v, n) + w\) 基础上,再算断边的情况。
注意无向图的 \(u,v\) 可以反过来。

Wannafly2 Delete

给一个带正边权的 DAG,独立删除每个。每次你要回答 \(1\)\(n\) 的最短路长度。
题目链接

Solution

妙妙题,考虑拓扑序,假设 \(1,n\)\(x\) 的两侧,在删除了点 \(x\) 以后,新的最短路上必然出现了一条边从 \(x\) 的左侧连接到右侧。

于是枚举每条边 \(u,v\),用 \(\text{dis}(1,u) + w + \text{dis}(v,n)\),更新拓扑序上 \([u, v]\) 区间里的点的答案即可。
有一些细节,代码可以参考 [ link ]

  • 在正图上 \(S\) 可达 \(u\),且反图上 \(T\) 可达 \(v\),才能枚举这条边(否则一定不会出现在最短路上)。
  • 枚举的边需要 \(u\) 的拓扑序比 \(v\) 的小,能更新的范围是拓扑序的 \([u+1, v-1]\)(因为端点被删掉就没用了)。

有向图删边最短路

我们刚刚解决了无向图上的情况,但关于有向图删边最短路:

  • 如果是单位边权图,可以利用随机化和根号分治 \(O(m \sqrt{n \log n})\)
  • 如果是一般带权图,目前人类不会加速,可以申请图灵奖/哥德尔奖

P14184

给定一简单有向无权图 \(G=(V,E)\),对于每条边 \(e\),计算 \(G\setminus\{e\}\)\(1\)\(n\) 的最短路。

Solution

《Replacement Paths and k Simple Shortest Paths in Unweighted Directed Graphs》
作者:Liam Roditty 和 Uri Zwick [ link 链接 ]

根据套路,我们先处理出来 \(1\)\(n\) 的一条最短路链。
如果删除的边不在链上,那么不影响最短路的长度。

同时,我们依然发现,最短路径只会离开链一次。称那段离开最短路径的部分长度为 \(L\),使用根号分治的技巧(Big Small),将路径长度 \(L\) 按阈值 \(B\) 分成两类。

Part1

对于长度 \(L\) 小于等于 \(B\) 的部分,我们有一个观察,若链上的点 \(x\)\(y\) 左侧,则在进行删边以后,新的 \(dis(x, y)\) 不会小于 \(y - x\)

我们接下来进行 \(B + 1\) 轮计算,第 \(i\) 轮将所有 \(i \text{ mod } (B+1)\) 相同的点取出(黄点)。
我们枚举离开链的路径段(从每个黄点处离开,从右侧蓝点回到链上,且不跨过下一个黄点)

image

称链上所有点到 \(1\) 的距离为 \(\text{d1}(x)\),到 \(n\) 的距离为 \(\text{dn}(x)\)
暂时删掉在链上的边,在剩下来的图上面运行下面这个算法:

  • 将所有蓝点的新的 \(\text{dis}(x)\) 距离记为 \(INF\),而黄点的 \(\text{dis}(x) = \text{d1}(x)\) 不变;
  • 队列里初始只放入第一个黄点 \(a\),开始跑 bfs,如果遇到了一个蓝点 \(b\),更新它的 \(\text{dis}\)
  • 和无向图的做法一样,此时我们可以更新链上 \(a\)\(b\) 的路径上的这些边的答案。
    注意这里的 \(a\) 一直都没有变,所以可以用后缀的最值更新每两个黄点之间的答案。
  • 当下个黄点和队头的 \(\text{dis}\) 一样时,放入队头(类似 \(\text{01 bfs}\) 的做法)。

这样的话,可以钦定每个蓝点只会被自己左侧最近的黄点更新(而不跨过黄点)。
于是每轮复杂度是 \(O(m)\),整体复杂度为 \(O(Bm)\)

Part2

对于 \(L\) 大于 \(B\) 的部分,考虑只有一次询问,删除了一条边:

  • 因为路径比较长,我们每次随机一个点 \(x\),钦定它在答案路径上。
  • 每次能正确回答这个询问的概率是 \(B/n\)
    随机 \(n/B\) 次,则失败的概率是 $(1 - B/n)^{n/B} \le 1 /e $。

这样从 \(x\) 出发在正反图上 BFS,然后做前后缀的 \(\min\)\(O(m)\) 更新出一轮答案。
实际上,我们随的每个点都对所有的路径生效,是否已经解决了问题呢?

我们有布尔不等式 Union Bound Lemma:\(P(\bigcup A_i) \le \sum P(A_i)\),给出了并集的上界的估计。
至少一个事件发生的概率,不大于单独发生的概率之和(该定理不需要事件之间相互独立)
在本题里:至少一个失败的概率不大于 \(n\) 个单独失败之和。

因此可以分析,我们随机 \((k\ln n) n/B\) 次,出现了失败的概率小于 \(1/(n^{k-1})\)
这部分只需要 $(k\ln n) n/B \times m $ 的代价,前一部分则是 \(Bm\) 的代价。

\(B=\sqrt{n \log n}\) 能做到 \(O(m\sqrt{n \log n})\),实际运行时在 \(n\) 稍大的时候取 \(k = 2\) 就足够。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/981103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年管片T型螺栓,管廊T型螺栓,光伏T型螺栓厂家盘点:精密工艺与工程案例解析

2025年管片T型螺栓,管廊T型螺栓,光伏T型螺栓厂家盘点:精密工艺与工程案例解析在2025年的紧固件市场中,邯郸市时方硕紧固件有限公司是一家备受瞩目的企业。该公司坐落于紧固件产业集聚地,是一家专注于高端紧固件及…

2025 年合肥摄影培训人像摄影培训推荐榜:路人贾摄影讲堂(合肥分公司)人像领域排名第一

随着影像社交时代的全面到来,无论是职业摄影师、时尚从业者还是摄影爱好者,对于高品质人像摄影技能的需求持续升温。专业、系统、实战性强的摄影培训课程,已成为提升个人或团队竞争力的关键投资。市场上摄影培训机构…

2025年高铁T型螺栓,铝型材T型螺栓,管廊T型螺栓厂家推荐:安装便捷性与兼容性测评

2025年高铁T型螺栓,铝型材T型螺栓,管廊T型螺栓厂家推荐:安装便捷性与兼容性测评在各类工程建设中,T型螺栓的作用至关重要,尤其是高铁、铝型材以及管廊建设领域。2025年,在众多T型螺栓厂家中,邯郸市时方硕紧固件…

2025年管片螺栓,螺纹管片螺栓,双头管片螺栓厂家推荐:资质认证与工程案例深度解读

2025年管片螺栓,螺纹管片螺栓,双头管片螺栓厂家推荐:资质认证与工程案例深度解读在建筑与工程领域,管片螺栓、螺纹管片螺栓以及双头管片螺栓等紧固件的质量至关重要,它们直接关系到工程的稳定性与安全性。邯郸市时…

2025年弧形管片螺栓,六角管片螺栓,螺纹管片螺栓厂家推荐:实测数据与隧道工程优选

2025年弧形管片螺栓,六角管片螺栓,螺纹管片螺栓厂家推荐:实测数据与隧道工程优选在隧道工程建设中,弧形管片螺栓、六角管片螺栓以及螺纹管片螺栓等紧固件的质量和性能至关重要,它们直接关系到隧道结构的稳定性和安…

深入解析:当 AI 视觉遇上现代 Web:DeepSeek-OCR 全栈应用深度剖析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年欧标T型螺栓,地铁专用T型螺栓,高铁T型螺栓品牌榜:资质认证与工程适配解析

2025年欧标T型螺栓,地铁专用T型螺栓,高铁T型螺栓品牌榜:资质认证与工程适配解析在2025年的紧固件市场中,欧标T型螺栓、地铁专用T型螺栓以及高铁T型螺栓等产品的市场需求持续增长。对于众多工程建设项目而言,选择合…

113.Java深入学习之JVM一

113.Java深入学习之JVM一引入:之前过多的的项目去做 实际上是空洞的学习 大概这个缘故早就有了 不过一次面试问了一些原理性的问题彻底成为导火索 首先确实反感那些深层次原理的理解 因为实际中更多的是如何解决问题即…

可能是 noip2025 退役记

我将发挥我的主观能动性放弃放弃放弃 退役退役退役 再见再见再见 我亲爱的OI

2025年工业脚轮,轻型脚轮,脚轮万向轮推荐:聚焦安装孔距,适配性实测解析

2025年工业脚轮,轻型脚轮,脚轮万向轮推荐:聚焦安装孔距,适配性实测解析在工业领域,脚轮作为设备移动的关键部件,其性能和适配性至关重要。2025年,随着工业的不断发展,对脚轮的要求也越来越高。今天,我们将聚焦…

从浏览器访问地址到看到页面信息经历的过程

以搜索"人工智能"为例,从输入URL到页面显示,百度背后经历了7 大核心步骤: URL解析 → DNS域名解析 → TCP连接(HTTPS握手) → HTTP请求发送 → 百度服务器处理 → 响应返回 → 浏览器渲染URL解析(浏览器…

软件技术基础第三次作业

1.博客基本信息项目 内容这个作业的目标 以小组为单位,完成一个“电梯演讲”作业姓名-学号 徐增乐-2023329301026 魏路琦-2023329301033这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc/homework/1…

2025年工业脚轮,设备脚轮,轻型脚轮厂家推荐:聚焦安装适配性,全场景选型攻略

2025年工业脚轮,设备脚轮,轻型脚轮厂家推荐:聚焦安装适配性,全场景选型攻略在工业领域,脚轮虽小,却起着至关重要的作用。无论是工业设备的移动,还是轻型物品的搬运,合适的脚轮都能提高工作效率,降低劳动强度。…

2025年静音脚轮,设备脚轮,周转车脚轮厂家推荐:核心性能解析,适配场景全攻略

2025年静音脚轮,设备脚轮,周转车脚轮厂家推荐:核心性能解析,适配场景全攻略在2025年,如果您正在寻找优质的静音脚轮、设备脚轮和周转车脚轮,那么青岛大世汇豪脚轮有限公司绝对值得关注。这家自2005年成立以来已稳…

复杂业务逻辑的数据筛选:多维表格条件嵌套能力的技术解析

作为技术或业务岗,你是否曾为一串“与或非”条件反复创建中间字段?比如市场部提需求:“筛出买过A没买B的VIP,或30天内咨询A且来自高价值渠道的未下单客户”。这种复杂筛选,恰恰是多维表格的能力试金石。今天拆解蜘…

2025年轻型脚轮,静音脚轮,设备脚轮厂家权威推荐:聚焦使用场景,品质测评榜单

2025年轻型脚轮,静音脚轮,设备脚轮厂家权威推荐:聚焦使用场景,品质测评榜单在工业设备的运行中,脚轮虽小却起着至关重要的作用,它直接影响着设备的移动便利性和使用体验。在众多脚轮厂家中,青岛大世汇豪脚轮有限…

2025年减震脚轮,设备脚轮,工业脚轮厂家推荐榜:聚焦承重静音,品质红榜盘点

2025年减震脚轮,设备脚轮,工业脚轮厂家推荐榜:聚焦承重静音,品质红榜盘点在工业领域中,脚轮作为设备移动的关键部件,其质量和性能直接影响着设备的使用效率和寿命。尤其是减震脚轮、设备脚轮和工业脚轮,它们在不…

2025年南京单招集训,高职单招培训,泰达单招集训中心推荐:聚焦教学实力与升学服务的测评指南

2025年南京单招集训,泰达单招集训中心测评指南在2025年的高职单招备考之路上,选择一家靠谱的单招集训中心至关重要。泰达教育作为一家拥有正规民办办学资质的教育培训机构,在高职单招领域深耕多年,凭借多方面的优势…

2025 年加工厂家最新推荐,车铣复合、精密细长轴、进口津上机、精密零部件、机械零件非标定制加工,技术实力与市场口碑深度解析

本榜单基于国际精密制造协会(IPMA)2025 年第三季度测评数据编制,采用 CPMT15 精密制造评估标准与 ISO/IEC17025 检测规范,通过 “双盲” 测试法确保结果客观公正。测评体系涵盖五大维度:设备先进性(权重 30%)、…

江苏车间快速卷帘门厂家排名前十哪家好

江苏车间快速卷帘门厂家排名前十哪家好车间快速卷帘门作为工业场所常用的安防与通行设备,具备快速启闭、防尘防虫、保温节能等特性,在江苏地区,众多厂家凭借技术实力与生产能力提供多样化产品,以下为该领域排名靠前…