15.1-1
由公式(15.3)的初始条件T(0)=1证明公式(15.4)成立
(1)T(N)=T(0)+T(1)+…T(N-1)=>T(N+1)=(2)T(0)+T(1)+…T(N-1)+T(N)
(2)-(1)即可推出
T(N+1)=2T(N)
…
T(2)=2T(1)
T(1)=2T(0)
=>T(N)=2^N
15.1-2
证明贪心策略( Pi/i)不能总保证得到最优切割方案
假如 长度n=4 ,那么 1 2 3 4中密度最高的 是 P3/3=2.68
根据贪心策略 会选择 1+3的切割方案。
而最好的切割策略是 2+2
此时并不能保证贪心策略取得最优解。
15.1-3
增加固定成本c再设计一个算法解决
#include<iostream>
using namespace std;
int r[11];//存储各种长度对应的最优收益
int s[11];//存储第一次切割长度
const int c = 1; //切割成本
int CUT_ROD(int n[], int); //定义递归函数参数是价格数组和钢管长度
void PRINT_CUT_SOLUTION(int p[], int n);