如何解决修改后的最小生成树
我必须实现一个算法,其中我们有一个现有的道路网络(通过路径连接的节点,即无向图)。我们必须将所有城市连接在一起,通常我会使用类似 Kruskal 的算法来获得最小生成树。
然而,我们不关心在城市之间移动需要多长时间(可以假设边权重都是 0 或 1 或其他东西),而是存在与建造道路相关的成本(在 2 个顶点之间添加一条边)或破坏道路(删除 2 个顶点之间的边)。这是我们唯一需要考虑的成本。我们的目标是只有 1 条路径连接每对城市。所有成本都是非负整数。
我有 3 个 2d 数组(我将它们表示为下面的矩阵,行和列是从 0、1、2...等编号的城市)
Country[i][j]=1 或 0:当且仅当 country[i][j]=1 城市 i 和 j 之间存在现有道路。
0 1 2
0 0 1 1
1 1 0 1
2 1 1 0
Build[i][j]:在 i 和 j 之间修建一条道路的成本
0 1 2
0 0 1 3
1 1 0 2
2 3 2 1
Destroy[i][j]:摧毁 i 和 j 之间的道路的成本。
0 1 2
0 0 1 3
1 1 0 2
2 3 2 1
我不知道如何去做,任何形式的指导将不胜感激
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。