- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定杆的长度和前 3 根杆的 P(价格)。我们要填写我们可以为其余的杆获得的可能价格。假设我们可以根据需要切割较长的部分。
L = 1 2 3 4 5 6 7 8
p = 3 8 12
我们基本上想获得每个缺失长度价格所能获得的最高价格。
我的方法我相信,由于我们得到了长度为 1,2 和 3 的杆的最佳可能价格,因此我们可以为下一根杆生成所有可能的组合。
For example to get price of rod where L = 4
price of rod where L = 1 + rod where L = 3 = 15
price of rod where L = 2 + rode where L = 2 = 16
Therefore price of rod wehre L = 4 = 16 since 16 > 15.
For example to get price of rod where L = 5
price of rod where L = 1 + rod where L = 2 and rod where L = 2 = 19
price of rod where L = 3 + rod where L = 2 = 20
price of rod where L = 4 + rod where L = 1 = 19
这就是我所遵循的方法。但是我不确定我是否正确。如果有人可以验证这种方法并且也可以帮助我从中推导出一个公式,我也希望如此。我不是在寻找代码,因为了解问题足以编写代码。
最佳答案
您可以在 CLRS 中查看此问题变体的解释。 (第 15.1 节,第 360 页)。该问题称为杆切割问题。
您的做法是正确的,您可以将其形式化为递归关系。
f(n) = min(f(n - i) + price(i)). 1 <= i <= n - 1
其中 f(n)
是购买长度为 n 的杆的最低价格。使用记忆化,这可以在 O(n^2)
中计算。
关于algorithm - 查找棒材切割的价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29352239/
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我正在开发一个 rdp 虚拟 channel 应用程序。我已经在注册表中注册了客户端 dll 并试图理解,客户端 dll 已加载。但是当从 pEntryPoints 调用 pVirtualChanne
是否可以通过 GPRS(USB 棒)绑定(bind)(聚合)多个连接并将其用作 Linux 中的一个链接? 最佳答案 技术上是可行的。 Linux 有一个名为 bonding 的模块它可以将多个接口(
我的主容器 div 可以刷新,所以它的内容被隐藏/显示。当我的容器 div 隐藏时,我的页脚会弹出。 html 结构如下所示: 注意我已经试过了: 而且它似乎不起作用,当隐藏容器 div 时,页脚 d
我有一个问题,我可以使用 wpa_suppli 进行无线连接 cant on some network, but i need to connect on a network where the SS
我是一名优秀的程序员,十分优秀!