algorithm - 使用动态规划的最低成本

标签 algorithm data-structures dynamic-programming

我有一个手机信号塔问题。有n个城镇。我们想在一些城镇 build 手机信号塔。每个手机信号塔都可以覆盖自己和它的邻居。每个城镇都有 build 手机信号塔的成本。我们想找出 build 覆盖所有城镇的手机信号塔的最低成本。

例如,

(1)

城镇 1 2 3

COST 5 1 2 我们选择在 town-2 build 手机信号塔。成本为 1。

(2)

城镇 1 2 3 4

COST 5 1 2 3 我们选择在 town-2/3 build 手机信号塔。成本是1+2=3。

(3)

城镇 1 2 3 4

费用 5 1 3 2

我们选择在 town-2/4 build 手机信号塔。成本是1+2=3。 有没有办法在 O(n) 时间内解决这个问题?我查看了 dynamic programming proboem for minimum cost 上的帖子但我认为给出的答案是 O(n^2)。我考虑过动态规划中的 LIS,但我认为它也会在 O(n^2) 中运行。

最佳答案

是的,有办法在 O(n) 内解决这个问题。帖子中给出的答案具有线性时间复杂度,因此它正是您所需要的。

关于algorithm - 使用动态规划的最低成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636180/

相关文章:

algorithm - OpenMP 稀疏雅可比

javascript - 用于生成动画效果序列的算法

java - 更快的集合交集方法

algorithm - Google CodeJam "Crossing the Road"令人困惑的测试用例

algorithm - 在 bool 矩阵中查找 1 的区域填充

string - 查找给定字符串的显性循环子串

c# - 仅对一个条目使用字典

java - 将私有(private)函数添加到 ADT 列表导致错误,奇怪的修复

algorithm - 生成前 M 个 N-Bonacci 数的数组

algorithm - 硬币找零问题动态规划求解的思路