当前位置: 首页 > 知识库问答 >
问题:

改进图中的总行程距离

云韬
2023-03-14

最近在一次编码测试中,我遇到了一个基于图形的问题,我无法解决。

所以在这个问题中,我们得到了一个道路网络(一个加权无向图),道路由边表示(它们有一定的权重),城市由顶点表示。此外,我们还获得了一份可添加到给定道路网络中的拟建道路列表(即3个编号、2个endpoint/连接的城市,其他编号为权重)。我们必须知道,在加入网络后,哪条道路使网络中的总行驶距离最小化。总出行距离定义为所有城市对之间的最短路径距离之和。约束条件:

顶点数:100,边数:1000,道路建议数:1000。

解决这个问题最有效的方法是什么?

共有1个答案

朱明知
2023-03-14

计算所有对的最短路径并将它们存储在矩阵中。(Floyd–Warshall很简单,可以很好地处理密集图;也可以从每个顶点运行Dijkstra。)

对于可以添加的每个边uv,我们可以将s和t之间的更新距离评估为min(d(s, t), d(s, u)(uv)d(v, t), d(s, v)(uv)d(u, t)),其中d表示基图中的距离,(uv)是uv的长度。

假设弗洛伊德-沃沙尔,这都需要时间O(|V|³k|V|²),其中k是可以添加的边数。在给定的约束下,这肯定足够快了。

 类似资料:
  • 问题内容: 如何在Swift中使用CoreLocation计算行进的总距离 到目前为止,我还无法找到有关如何在iOS 8的Swift中执行此操作的任何资源。 自开始跟踪位置以来,您将如何计算移动的总距离? 根据到目前为止的读物,我需要保存一个点的位置,然后计算当前点与最后一个点之间的距离,然后将该距离添加到totalDistance变量中 Objective-C对我来说是非常陌生的,所以我还无法计

  • 本文向大家介绍C ++中树的距离总和,包括了C ++中树的距离总和的使用技巧和注意事项,需要的朋友参考一下 假设我们有一棵无向的,连接的树,其中有N个节点。这些标记为0 ... N-1,给出了N-1边。第i条边将节点edge [i] [0]和edge [i] [1]连接在一起。我们必须找到一个列表,其中ans [i]是节点i与所有其他节点之间的距离之和。 因此,如果输入像N = 6并且edges

  • 我试图找到一种方法来更改JTextArea组件中的行距。 稍微搜索一下似乎总是会发现相同的答案:“改用 JTextPane,然后调用 setParagraphAttributes”。 但我想知道是否有可能仅通过 JTextArea 来实现这一点,例如,弄乱字体。 使用< code>deriveFont(...)方法,可以改变字体的字距和字距,即字符之间的水平间距,但我还没能找到改变垂直间距的方法(

  • 设置行距 各文字行间的垂直间距称为 leading(行距)(与 sledding 押韵)。测量行距时,计算的是一行文本的基线到上一行文本基线的距离。基线是大多数字母排于其上的一条不可见直线。 默认自动行距选项按字体大小的 120% 设置行距(例如,10 点文字的行距为 12 点)。使用自动行距时,“字符”面板的“行距”菜单将在圆括号内显示行距值。可以使用以下方式来更改此默认自动行距:从“段落”面板

  • 我想打api:www.xyz.com/abc_cc/cc/userregister/newuser 这是我的代码: 接口: POJO类: 我得到了这样的回应: 我已经给出了正确的url,那么为什么只需要一半? 我已经试过了https://code.tutsplus.com/tutorials/sending-data-with-retrofit-2-http-client-for-android-

  • 问题内容: 我在用 python 2.7.12 Django 1.10.6 PostgreSQL 9.5.6 postGIS 2.2.2 第一个问题 我需要使用GeoDjango计算两点之间的距离。当我检查了 文档它说, GeoQuerySet.distance() 已被弃用,而使用 距离() 从 django.contrib.gis.db.models.functions 。 以下代码可以正常工