图的最短路径都会写,那么最长路径呢?
最短路、path 和 walk在最短路径里我们通常想找从s 到t 的一条总代价最小的路线。如果所有边权非负Dijkstra 可以用贪心方式逐步确定当前最短的点如果存在负权边Dijkstra 的前提会坏掉但 Bellman-Ford 仍然可以通过多轮松弛处理。于是看上去最长路径也可以类似地定义从s 到t找一条边权总和最大的路线。最短路径的松弛是如果[][](,)d[v]d[u]w(u,v) 就更新那么最长路径似乎只要改成如果[][](,)d[v]d[u]w(u,v) 就更新。这个想法只在某些受限场景下成立。在图论里path 和 walk 是有区别的。walk 只要求相邻顶点之间有边可以重复经过顶点和边simple path 则不允许重复经过顶点。中文里都可能被叫作“路径”。日常说“从 A 到 B 的路径”通常不太区分是否允许重复经过同一个点。但图论和算法里这个区别非常关键。通常提到最短路径问题算法求解的是 walk即允许重复。从实现上看常见的最短路算法通常并不会在状态里记录“已经访问过哪些顶点”。Dijkstra 的状态是到每个点的当前最短距离Bellman-Ford 也是不断对边做松弛。它们并没有显式禁止一条候选路线重复经过某个点。最短路能转化成最长路吗在最短路径场景下如果是正权图那么 path 还是 walk 没有区别因为一定不会重复走边浪费权重。若有负数边但不成环那么 Bellman-Ford 仍可处理。但最短路径怕负权环在无向图里则是一条负边就够因为绕一圈代价更小可以一直降到任意低答案不存在反过来最长 walk 怕的是正权环因为绕一圈收益更大可以一直涨到∞∞。这和最短路径里的负权环是对称的。所以反过来看只要图里存在正环在无向图里则是有正边权并且允许重复行走那么最长 walk 就会变成无界问题。并不能简单的转化就行了。不过如果不存在会影响答案的正权环比如全图权重都是负数这时最长路就确实可以转化成最短路了。做法很简单。把每条边的权重()w(e) 变成−()−w(e)原图中的最长 walk 就对应新图中的最短 walk。原图里的正权环会变成新图里的负权环因此可以用 Bellman-Ford 的负权环检测逻辑处理。最长 simple path 是另一个问题那如果要求解的是最长简单路径呢从s 到t找一条不重复经过顶点的路径使得总权重最大。这个定义避免了正权环导致的无穷大。即使图里有正权环由于不能重复经过顶点也不可能无限绕圈。问题总是有有限答案。但这个问题要困难得多。最短路算法之所以能只维护[]d[v]是因为到达v 之后过去怎么来的通常可以被压缩成一个距离值。最长 simple path 不行。你到达v 时已经访问过哪些点会决定后面还能走哪些边。两个状态即使当前顶点相同只要访问集合不同后续空间也可能完全不同。如果把访问集合也放进状态可以做类似动态规划的搜索但状态数量通常是指数级的。这个问题可以和 Hamiltonian Path 规约。给定一个无权图如果它有n 个顶点那么它存在一条长度为−1n−1 的 simple path当且仅当它存在一条经过所有顶点一次的 Hamiltonian path。假如我们能高效求出一般图上的最长 simple path就能判断 Hamiltonian Path 是否存在。后者是 NP-complete 问题因此一般图上的最长 simple path 是 NP-hard 的。所以“最长路径可以取负变成最短路径”这句话只有在特定语义下成立。它不能拿来解决一般图上的最长简单路径。反过来我们还发现如果最短路也强制只能选 simple path那么有负环时它也不能做会变成困难问题。image总结最短路无负环则可用经典算法求解且求出的既是最短 path 也是最短 walk有负环则经典算法求出的 walk 不存在会任意小、path 存在但是求解困难最长路也一样但他不能处理的是正环特例DAG重要例外是 DAG也就是有向无环图。在 DAG 上没有环walk 和 simple path 的区别基本消失也不会出现通过绕正权环把答案刷到无穷大的情况。这时最长路径可以按拓扑序做动态规划。设[]dp[v] 表示从起点s 到v 的最长路径长度那么对每条边(,)(u,v) 做类似[]max⁡([],[](,))dp[v]max(dp[v],dp[u]w(u,v)) 的更新即可。因为拓扑序保证处理v 之前所有可能到达v 的前驱都已经处理过了。

相关新闻

C++入门第一课:从零搭建开发环境到Hello World实战

C++入门第一课:从零搭建开发环境到Hello World实战

1. 项目概述:为什么从C开始? 如果你点开这篇文章,大概率是刚接触编程,或者从其他语言(比如Python、Java)转过来,想啃下C这块“硬骨头”。我完全理解你的感受。十多年前,我坐在电脑前…

2026/7/30 23:40:02 阅读更多 →
基于MSP430与TrxEB的RF PER测试软件实战指南

基于MSP430与TrxEB的RF PER测试软件实战指南

1. 项目概述与核心价值在无线通信产品的研发和调试过程中,如何量化评估射频链路的可靠性,是每个工程师都会面临的硬核问题。你可能会用频谱仪看发射功率,用矢量网络分析仪测天线驻波比,但这些都无法直接告诉你:在实际的…

2026/7/26 22:43:52 阅读更多 →
Excel和系统管理数据哪个更好?企业数据管理方式如何选择?

Excel和系统管理数据哪个更好?企业数据管理方式如何选择?

在企业日常管理中,Excel几乎是使用频率最高的工具之一。 客户名单、销售统计、库存台账、采购计划、项目进度、财务报表,很多企业都习惯用Excel管理数据。它操作简单、上手快,对于初创企业或业务量较小的团队来说,确实能够解决不少…

2026/7/31 7:14:01 阅读更多 →

最新新闻

大型演出音视频同步技术解析:从PTP时钟到全舞台制作实践

大型演出音视频同步技术解析:从PTP时钟到全舞台制作实践

如果你是一位关注日系偶像文化的技术爱好者,最近可能被 BNK48 和 CGM48 在 Japan Expo Thailand 2024 上的全舞台演出刷屏了。但除了粉丝向的直拍和报道,这场演出背后其实隐藏着一个值得技术人深入思考的问题: 在现代大型演出中,…

2026/7/31 10:05:18 阅读更多 →
3 个 GDPR 合规红线测试:Taotoken 实测大模型日志存储比训练数据更易踩坑

3 个 GDPR 合规红线测试:Taotoken 实测大模型日志存储比训练数据更易踩坑

全球 AI 服务数据合规指南:从 GDPR 到中国个保法的实战解决方案 上周某跨境电商 AI 客服系统因用户对话日志未脱敏被欧盟罚款 220 万欧元——这已是 2026 年 Q2 第 7 起公开处罚。我们通过 Taotoken 平台实测发现:工程师普遍关注训练数据合规&#xff0…

2026/7/31 10:05:18 阅读更多 →
【单片机课程设计/毕业设计】基于 STM32 单片机的简易电子乐器软硬件实现 基于无源蜂鸣器的嵌入式音乐交互系统设计(014401)

【单片机课程设计/毕业设计】基于 STM32 单片机的简易电子乐器软硬件实现 基于无源蜂鸣器的嵌入式音乐交互系统设计(014401)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/7/31 10:05:18 阅读更多 →
VMware vCenter Server 8.0U3k 发布 - 集中管理 vSphere 环境

VMware vCenter Server 8.0U3k 发布 - 集中管理 vSphere 环境

VMware vCenter Server 8.0U3k 发布 - 集中管理 vSphere 环境 Server Management Software | vCenter 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u3/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2026-07-2…

2026/7/31 10:05:18 阅读更多 →
Transformer架构:从原理到实践

Transformer架构:从原理到实践

1. 引言Transformer架构自2017年由Google在论文《Attention Is All You Need》中提出以来,彻底改变了自然语言处理(NLP)乃至整个深度学习领域。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN&#xf…

2026/7/31 10:05:18 阅读更多 →
CM211-2-CH电视盒子通刷当贝纯净桌面:免拆卡刷教程与故障排查

CM211-2-CH电视盒子通刷当贝纯净桌面:免拆卡刷教程与故障排查

1. 项目概述:为老旧电视盒子注入新活力手头有一台型号为CM211-2-CH的电视盒子,是不是感觉它越来越慢了?开机广告烦人,预装软件一大堆还删不掉,系统卡顿得看个高清视频都费劲。这几乎是所有使用了一两年以上运营商定制版…

2026/7/31 10:04:18 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻