algorithm - 给定一个加权图和自然数 k,如何找到可以除以 k 的从节点 s 到 t 的最便宜的路径?
问题描述
给定一个不包括负循环的加权图 G=(V,E)、一个自然数 k 和两个顶点:s,t。
我怎样才能找到从 s 到 t 的最便宜的路线,它的长度可以被 k 整除?
解决方案
准备一个具有顶点 V × {0, 1, ..., n−1} 的新图 G',并且对于 G 中长度为 ℓ 的每个弧 v → w,弧 (v, x) → (w, (x + ℓ) mod k)。然后使用 Dijkstra 算法找到从 (s, 0) 到 (t, 0) 的最短路径。
推荐阅读
- c# - 依赖程序集仅在被代码引用时部署
- terraform - Terraform:自动填充模块的变量
- python - 我正在用python编写下面提到的简单代码,但它没有打开
- wordpress - 检查 Url 是否包含特殊字符,如 #
- javascript - 如何使输入字段进度条全宽为父 div 的 100%?
- flutter - 如何在flutter_driver自动化测试中定义应用流程?
- c# - iPhone 无法识别下载的 JPEG 文件
- maven - Jenkins maven 相关错误
- javascript - HTML5 输入类型颜色读取单个 RGB 值
- git - 是否可以在 Azure Devops 中更改克隆管道的 repo 路径(元数据)?