美文网首页
钢条切割

钢条切割

作者: Katakuly | 来源:发表于2018-10-02 18:31 被阅读0次

题目描述:
假如Serling公司出售一段长度为 i 英寸的钢条的价格为 pi( i =1,2,3,4…单位为美元)。钢条的长度为整英寸。假设Serling公司进了一批长度为n的钢条,那么怎么切割才能使利益最大呢? 如下为价格表:


价格表.png

输入描述:钢条长度n
输出描述:利益的最大值

在所有可能的两段切割方案中选择组合收益最大值,构成原问题的最优解。假设长度为n(n >= 1)的钢条的最大利润是Rn,我们可以用更短的钢条的最优切割收益来描述它:
Rn = max(Pn, R1 + Rn-1, R2 + Rn-2,…,Rn-1 + R1)。
采用动态规划,首先确定动态规划三要素:
最优子结构:max(Pn, R1 + Rn-1, R2 + Rn-2,…,Rn-1 + R1)
边界条件:i=1
状态转移公式: R1 + Rn-1

import java.util.Scanner;

/**
 * @author Katakuly
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] p = {0, 1, 5, 8, 9, 10, 17, 17, 20, 24, 30};
        int ans = getMax(p, n);
        System.out.println(ans);
    }

    public static int getMax(int[] p, int n) {
        int[] r = new int[n + 1];
        for (int i = 1; i <= n; i++) {
            int tmp = -1;
            for (int j = 1; j <= i; j++) {
                tmp = Math.max(tmp, p[j] + r[i - j]);
            }
            r[i] = tmp;
        }
        return r[n];
    }
}

相关文章

  • 钢条切割

    题目描述:假如Serling公司出售一段长度为 i 英寸的钢条的价格为 pi( i =1,2,3,4…单位为美元)...

  • 动态规划-切割钢条问题

    钢条长度i的价格Pi表如下: 钢条切割的最小单位是1,现给定一根钢条长度是X(1<=X<=10),怎么切割才能让收...

  • 钢条切割-递归

    题的描述就不写了。 本篇是《算法导论》中钢条切割的递归实现(实际生产中效率很低,复杂度是指数增长的,使用线性规划可...

  • 钢条切割问题

    https://www.jianshu.com/p/7de9f30e7655

  • 动态规划 - 钢条切割

    动态规划 动态规划方法通常用来求解最优化问题,这类问题可以有很多可行解,每个解都有值,我们希望寻找具有最优值(最小...

  • 钢条切割(算法导论)

    Serling公司出售一段长度为i英寸的钢条价格为pi(i=1,2,3...),钢条只能切割为整英寸。 长度i12...

  • 动态规划--钢条切割问题

    给定一个长度为n英寸的钢条和一个价格表pi,求切割钢条方案,使得销售收益rn最大。

  • 钢条切割-自底向上

    自底向上是从第1-n次的解都保存在数组中,比直接递归的效率高,而且思路也不复杂只需要想一下怎么存储从1-n 最优...

  • 【动态规划】初识,钢条切割问题

    正文之前 其实动态规划老早之前就看过, 但是可惜的是印象不深,到今天彻底忘得差不多了,这两天看《算法导论》终于让我...

  • 二、工艺

    石材的工艺流程包括: 切割—打磨—加固钢条—背胶—防水 1、背胶 和普通背胶比,优质背胶手感更像瓷砖面 2、防水 ...

网友评论

      本文标题:钢条切割

      本文链接:https://www.haomeiwen.com/subject/oclaoftx.html