[DP解题] 切割钢锯条问题
假定:出售一段长度为 i 英寸的钢条的价格为Pi(i = 1, 2, …, )单位:$,钢条长度均为整英寸。下图为价格表。
问题描述:给定一段长度为n英寸的钢条和一个价格表,求切割方案,使销售收益Rn最大。注:若长度为n英寸的钢条的价格Pn足够大,最优解可能就是完全不需要切割。
考虑长度为4的情况,下图给出了4英寸钢条的所有切割方案。
切成两段各长2英寸的钢条,将产生P2 + P2 = 5 + 5 = 10 的收益,为最优解。
【算法分析】
【算法设计】
package com.bean.algorithmbasic;
import java.util.Arrays;
public class CutRobDP {
public static int[] prices = { 1, 5, 8, 9, 10, 17, 17, 20, 24, 30 };
// public static int[] prices =
// {1,5,8,9,10,17,17,20,24,30,
// 30,30,30,30,30,30,30,30,30,30,
//