- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是经典的杆切割问题的代码。正如代码所示,大小为 1、2、3 和 4,即价格数组 arr[] 的大小。我将如何修改代码,以便将大小设置为与给定值不同的值。例如,改为 1、2、3 和 5。
static double cutRod(double price[],int n)
{
double val[] = new double[n+1];
val[0] = 0;
for (int i = 1; i<=n; i++)
{
double max_val = Integer.MIN_VALUE;
for (int j = 0; j < i; j++)
max_val = Math.max(max_val,
price[j] + val[i-j-1]);
val[i] = max_val;
}
return val[n];
}
public static void main(String args[])
{
double arr[] = new double[] {1.2, 3, 5.8, 10.1};
int size = arr.length;
System.out.println("Maximum Obtainable Value is " +
cutRod(arr, size));
}
}
最佳答案
在经典问题中,内部循环中的 j+1
表示可能的分割大小。如果您有自定义切割尺寸,请将它们存储在数组中并使用它们代替 j + 1
。
在上面的程序中,令custom_sizes
为存储切割的数组,例如。 1,2,3,5 等
修改上述程序:
static double cutRod(double price[],int custom_sizes[], int n)
{
double val[] = new double[n+1];
val[0] = 0;
for (int i = 1; i<=n; i++)
{
double max_val = Integer.MIN_VALUE;
for (int j = 0; j < custom_sizes.length; j++) {
if (i - custom_sizes[j] >= 0)
max_val = Math.max(max_val,
price[j] + val[i-custom_sizes[j]]);
}
val[i] = max_val;
}
return val[n];
}
请注意,假设输入是有效的,并且 price
和 custom_sizes
的长度相等 = n
。
关于java - 如何修改 Rod-Cutting 问题以采用增加超过 1 的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889952/
我想在杆 ct 问题中获得最大 yield 的杆尺寸。假设有 4 根杆。 1 = 5 2 = 4 3 = 3 4 = 10 在这种情况下,最大收入将由 1,1,1,1 产生,即 20。我获得了最大的收
我正在关注 isntructions用于将 Nim(rod) 安装到 linux 上。然后我关注了this显示这样做的网站: $ echo 'export PATH=$PATH:$your_insta
问题是: 给定一个数组,表示 table 上杆的长度。每次选择两根杆并将它们连接起来并获得一根新杆。这样做直到 table 上只有一根杆。连接的成本是两根杆的长度之和,例如,连接 2 和 3 将得到
好吧,这可能是个棘手的问题。它实际上是与我的实际应用程序相关的另一个类似问题的类比,但为了清楚起见,我将其简化为这个假设问题。开始了: 我有一排鱼竿需要分类。因为是一条线,所以只需要关注1个维度。 杆
如何修改 cutRod 和 BottomUpCutRod 方法以保存大于数组长度的长度。例如,当前 p 的长度为 11,我如何切割长度为 15、20 等的杆,并具有相同的数组。例如 p = {0, 1
给定一根长度为 n 英寸的杆和一张价格为 pi 的表格i = 1, 2, ... n, 求切分可获得的最大 yield rn杆和卖件。 Bottom_Up_Cut_Rod(p, n) 1 let r[
这是经典的杆切割问题的代码。正如代码所示,大小为 1、2、3 和 4,即价格数组 arr[] 的大小。我将如何修改代码,以便将大小设置为与给定值不同的值。例如,改为 1、2、3 和 5。 stati
所以我在 python 中有这段代码,目前它只返回切割杆的最大值。我怎样才能修改它以让我也知道切割的位置?它采用一个价格列表,其指数 +1 对应于每个长度的杆的值(value),n 对应于杆的长度。
我一直在尝试使用 4.2.6 内核在 archlinux 下编译 Rigs of Rods。我遵循了 http://www.rigsofrods.com/wiki/pages/Compiling_So
我是一名优秀的程序员,十分优秀!