修改MEMOIZED-CUT-ROD,使之不仅返回最优收益值,还返回切割方案。
MEMOIZED-CUT-ROD(p,n) let r[0..n] be a new array for i = 0 to n r[i] = -\inf return MEMOIZED-CUT-ROD-AUX(p,n,r) MEMOIZED-CUT-ROD-AUX(p,n,r) if r[n] >= 0 return r[n] if n == 0 q = 0 else q = -\inf for i = 1 to n q = max(q,p[i]+MEMOIZED-CUT-ROD-AUX(p,n-i,r)) r[n] = q return q
