最小成本的动态规划问题[关闭]

2023-12-13

我有一个手机信号塔问题。有n个城镇。我们想在一些城镇建造手机信号塔。每个蜂窝塔都可以覆盖自己及其邻居。每个城镇都有建造手机信号塔的费用。我们想找出建造覆盖所有城镇的手机信号塔的最低成本。

例如,

(1)

城镇 1 2 3

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

(2)

城镇 1 2 3 4

成本 5 1 2 3 我们选择在2/3镇建设手机信号塔。成本是1+2=3。

(3)

城镇 1 2 3 4

成本 5 1 3 2

我们选择在2/4镇建造手机信号塔。成本是1+2=3。

这是一种动态规划算法。我该如何解决?

谢谢 凌


我会选择以下几行:

f(0,_) = 0
f(1,true) = 0
f(1,false) = cost[1]
f(x,true) = min{ f(x-1,true) + cost[x], f(x-1,false) }
f(x,false) = min { f(x-1,true) + cost[x], f(x-2,true) + cost[x-1]}

这个想法是:

x是我们当前正在查看的城市数量,如果该城市已经被覆盖(被左侧的城市覆盖),则布尔值为 true。

  • f(0,_)是一个空的基本子句 - 它可以自由地覆盖任何内容。
  • f(1,false)是城市1未被覆盖的基地,所以你必须在那里放一座塔,并且f(1,true)是一个覆盖城市 1 的基地,所以你不需要塔,你就完成了。
  • f(x,true)就是城市x已经被覆盖的情况,所以你可以在那里放一座塔,然后继续前往下一个城市[也被覆盖-f(x-1,true)】,或者不在那里放塔,下一个城市就不被覆盖了【f(x-1,false)]
  • f(x,false)就是x城市没有被覆盖的情况,所以你基本上有两个选择,或者在里面放一个塔,然后继续f(x-1,true)。或者在下一个城市(x-1)放一座塔,然后继续f(x-2,true)

从...开始f(x,false), where x是最后一个城市,你会得到最小的解决方案。
不难看出,这个递归公式可以很容易地修改为DP。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最小成本的动态规划问题[关闭] 的相关文章

  • 在矩阵/位图中查找质量簇

    这是此处发布的问题的延续 在 2D 位图上查找质心 https stackoverflow com questions 408358 finding the center of mass on a 2d bitmap正如给出的例子 它讨论了
  • 如何在 Unity 中对齐“轨道”或模块化对象?

    我正在开发一个简单的游戏 用户可以在其中放置不同但模块化的对象 例如 轨道 道路等 我的问题是 当将一个物体靠近另一个物体时 如何匹配和放置不同的物体 我的第一种方法是为每个模块对象创建一个隐藏的子对象 一个盒子 并将其放在可以放置其他对象
  • 如何衡量字符串的复杂度?

    我有一些长字符串 1 000 000 个字符 每个字符串仅包含定义字母表中的符号 例如 A 1 2 3 示例字符串 string S1 1111111111 meta complexity 0 string S2 1111222333 me
  • 用于计算有向图上非循环路径数量的快速算法

    简而言之 我需要一个fast计算简单有向图中有多少条非循环路径的算法 By simple我的意思是没有自环或多重边的图 Apath可以从任何节点开始 并且必须在没有传出边的节点上结束 一条路径是acyclic如果没有边出现两次 我的图 经验
  • 2D形状识别与解析算法

    我正在寻找一种算法 用于从给定的一组 x y 点检测简单形状 如矩形 三角形 正方形和圆形 我还在寻找一种方法 一旦检测到 将路径转换为更干净的形状 我已经查遍了互联网 但没有找到任何 简单 的方法 几乎所有这些对于我的简单实现来说都是高级
  • 融合元组以查找等价类

    假设我们有一个包含 k 个元素的有限域 D d1 dk 我们认为 S 是 D n 的子集 即一组 形式的元组 其中 ai 在 D 中 我们希望使用 S 2 D n 的子集 即一组 形式的元组 其中 Ai 是 D 的子集 来 紧凑地 表示它
  • 寻找簇的中心

    我有以下问题 进行抽象以找出关键问题 我有 10 个点 每个点与其他点有一定距离 我想要 能够找到簇的中心 即与其他点的成对距离最小的点 令 p j p k 表示点 j 和 k 之间的成对距离p i 是簇的中心点 iff p i s t m
  • 最接近 x,y 的线上的点[重复]

    这个问题在这里已经有答案了 可能的重复 如何判断一个点是否在某条线附近 https stackoverflow com questions 910882 how can i tell if a point is nearby a certa
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • 逐字遍历句子

    如何逐字遍历任何给定的句子 java中有内置函数吗 我不知道如何开始 像这样的事情 String sentence Your sentence here String words sentence split s splits by whi
  • 如何使用networkx删除有向图中的所有相关节点?

    我不确定我的问题的正确术语是什么 所以我只会解释我想做的事情 我有一个有向图 删除节点后我希望所有独立相关的节点也被删除 这是一个例子 假设我删除节点 11 我希望节点 2 也被删除 在我自己的示例中 它们将是 2 以下的节点 现在也必须删
  • java中的Anagram算法

    我想做字谜算法但是 这段代码不起作用 我的错在哪里 例如 des 和 sed 是字谜 但输出不是字谜 同时我必须使用字符串方法 不是数组 public static boolean isAnagram String s1 String s2
  • 加权图的 BFS 算法 - 寻找最短距离

    我看过很多帖子 即 post1 https stackoverflow com questions 30409493 using bfs for weighted graphs post2 https cs stackexchange co
  • 查找数组中的重叠数据

    我们正在编写一个 C 应用程序 它将有助于删除不必要的数据重复器 只有在以下情况下才可以移除中继器 all它接收到的数据被其他中继器接收 我们第一步需要做的事情解释如下 例如 我有 int 数组的集合 A 1 2 3 4 5 b 2 4 6
  • 为什么使用 no-op 来填补 paxos 事件之间的空白是合法的?

    我正在学习Paxos算法 http research microsoft com en us um people lamport pubs paxos simple pdf http research microsoft com en us
  • 计算总和等于 k ​​的子集数量

    给定一个数组 我们需要找出总和恰好等于给定整数 k 的子集的数量 请针对这个问题提出一个最佳算法 这里不需要实际的子集 只需计数即可 该数组由整数组成 可以是负数也可以是非负数 例子 数组 gt 1 4 1 10 5 绝对值总和 gt 9
  • 读取4个点的坐标。他们做一个正方形吗?

    我计算点之间的距离 如果距离相等 则点构成一个正方形 否则不 仅当我按以下顺序读取坐标 A x y B x y C x y D x y 或相反时 我的代码才有效 但是如果我这样读 例如 A x y B x y D x y C x y 它将不
  • 让电脑实现360度=0度,旋转炮塔

    我正在制作一个游戏 其中有一个计算机控制的炮塔 炮塔可360度旋转 它使用 trig 找出枪瞄准所需的角度 obj deg 并将枪的当前角度存储在 gun deg 下面的代码以设定的速度旋转枪 if objdeg gt gundeg gun
  • 创建将 n 个用户放入 k 个组的所有可能方法

    给定 n 个用户 u 1 u 2 u n 和 k 个组 g 1 g 2 g k 创建所有组的所有可能组合 基本上 最后每个组合都是一个Map 其中第一个Integer是用户ID 第二个Integer是组ID 例如 u 1 g 1 u 2 g
  • Haar级联正例图像大小调整

    我正在迈出第一步 为自定义对象识别创建 haar 级联 我花了时间获取大量数据并编写了一些预处理脚本以将视频转换为帧 我的下一步是裁剪感兴趣的对象 以创建一些积极的训练示例 我有几个问题 我确实在网上寻找答案 我有点困惑 我读到我应该致力于

随机推荐

  • C# Discord Bot - 上传本地图像

    我使用 C 创建了这个机器人来帮助我的联盟玩手机游戏 我们正在使用不和谐来沟通 我的机器人的功能之一是设置 Raid Lane 以便人们可以声明他们要走的路径 我们的联盟有一个图像集分布在我们的不和谐中 我希望当机器人为该难度设置突袭通道时
  • Android:如何通过意图在 Facebook 上共享带有文本的图像?

    我想在 Facebook 上通过分享意图分享一张带有我的应用程序中预先填充的标题的照片 示例代码 Intent intent new Intent intent setAction Intent ACTION SEND intent set
  • 如何使用 Google Apps 脚本将行从一个 Google 电子表格复制到另一个 Google 电子表格?

    我想使用 Google Apps 脚本将特定行从一个电子表格复制到另一个电子表格 谁能帮我得到这个问题的答案 NOTE 此解决方案适用于将行从一张工作表复制到同一电子表格中的另一张工作表 但不适用于将行从一张工作表复制到不同的电子表格 查看
  • 如何动态创建 SSRS 报告?

    我正在尝试在 SSRS 中创建报告 该报告为其数据调用一个存储过程 我想在表格中显示数据 但问题是 存储过程的结果有时会有所不同 因为每个客户都有自己的 模板 这意味着客户 A 的结果可能是 帐号 客户ID1234567890 098765
  • 使用 Android 长按按钮来递增/递减计数器

    我希望能够按下程序上的按钮并按住 不释放 以增加变量 我现在遇到的问题是 当我长按按钮时 它只运行一次 直到我松开并再次按下 首先 我想知道是否有一种方法可以做到这一点 而不必使用 OnTouchListener 而只需使用 OnLongC
  • 将 POJO 与 SelectOneMenu 和通用转换器一起使用

    您好 如何在 JSF 中使用 POJO 列表h selectOneMenu或 Primefacesp selectOneMenu 我知道有很多相关问题建议使用 Converter 但没有明确的从头开始构建示例 我想要一个用于上述目的的通用转
  • 调用实例时如何增加类的计数器属性?

    有一个简单的类 class A object COUNTER 0 def do something 1 self def do something 2 self def do something N self 有没有可以增加的决定self
  • 表单提交成功后重定向

    我有一个表单 应在按下提交按钮后提交数据 根据需要标记几个输入字段后 按下提交按钮后 当必填字段中没有输入时 表单总是向我显示 到目前为止 一切都很好 我想意识到的是 如果提交成功 则会重定向到另一个页面 如果有一些空的必填字段 表单应该向
  • NHibernate 一对多关系的聚合查询

    我有下一个实体 class Topic public virtual int Id get private set public virtual ICollection
  • Elasticsearch(6.5) 高级 Java Rest 客户端按名称删除索引不起作用

    我可以通过传递索引名称 类型和 id 来删除文档 如下所示 DeleteRequest deleteRequest new DeleteRequest data getIndexName data getType data getUniqu
  • 自动更正Python中的缩进错误

    我正在尝试修复 Python 脚本中的一些缩进错误 有没有办法在线自动纠正错误或使用其他实用程序 我希望这个错误非常熟悉 但想再次避免这种情况 有编辑器可以帮助解决这些问题吗 IndentationError 需要一个缩进块 一般来说这是不
  • 如何在 iPad 编码中将分割视图添加到基于视图的应用程序

    我使用基于视图的应用程序启动了我的 iPad 应用程序 在前两个视图中 我添加了表格视图 现在作为第三个视图 我想将 splitView 添加到视图中 为此 我将 splitview 控制器添加到我的 xib 文件中 我该如何编写编程部分
  • 如何使 UINavigationBar 不下推视图?

    我有多个UIViewControllers in a UINavigationController 有时我会显示酒吧 有时则不会 如何在不按下视图的情况下显示导航栏 导航栏将始终向下推视图 除非将其设置为半透明
  • 缩短 MongoDB 属性名称值得吗?

    In mongodb 文档作者提到缩短属性名称是个好主意 使用较短的字段名称 以及来自 How to Node 的旧博客文章 截至 2022 年 4 月编辑已离线 经常报告的 mongoDB 问题是 磁盘上数据的大小 每条记录都存储所有字段
  • 获取Singleton类实例多线程

    要获取具有单例模式的类的实例 我想使用以下函数 这是一个草图 interface uses SyncObjs type TMCriticalSection class TCriticalSection private Dummy array
  • Angular 2 observable-subscribe 显示未定义

    我面临着与 SO 帖子中相同的挑战here尽管在我的服务中我有数据 但我的 component ts 中的订阅方法未定义 请参阅下面的代码 p 组件 ts private getPayItems void console log In ge
  • Git:“git 克隆”到现有文件夹的最佳实践是什么?

    我有该项目的工作副本 没有任何源代码控制元数据 现在 我想在该文件夹中执行相当于 git clone 的操作 并保留本地更改 git clone 不允许我克隆到现有文件夹中 这里的最佳实践是什么 这可以通过克隆到新目录 然后移动 git目录
  • 更改会话中的 tempdir() (更新 R_TempDir)

    我正在寻找一种方法来改变tempdir R 会话开始后的位置 我认为需要更新C级全局变量R TempDir 从 R 内部完成此操作的好方法是什么 更新 西蒙 厄本内克斯unix 工具包有一个函数可以完成这个任务 代码如下 以供将来参考 se
  • Spring Boot 提供被安全阻止的静态内容

    我启动了 Spring Boot Angular 应用程序 现在我想将整个应用程序部署为 jar 所以我创建了 Maven 配置 其中构建了 Angular 应用程序 然后将其复制到 target classes resources 但每个
  • 最小成本的动态规划问题[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个手机信号塔问题 有n个城镇 我们想在一些城镇建造手机信号塔 每个蜂窝塔都可以覆盖自己及其邻居 每个城镇都有建造手机信号塔的费用 我们想找出建造覆盖所有城镇的手机信号塔的最低成