【正文】
子問(wèn)題的最優(yōu)解(包含這枚導(dǎo)彈的決策序列), a[j]表示第 j枚導(dǎo)彈的高度。 ? 開(kāi)始時(shí)所有的 f[i]都初始化為 1 ? i從 2開(kāi)始直到 n進(jìn)行順推計(jì)算所有的 f[i] ? 最后輸出最大的 f[i] 某個(gè)階段 i的 f[i]求解 ? f[i]的子問(wèn)題是哪些? ? f[i]子問(wèn)題的最優(yōu)解保存在哪里? ? 如何根據(jù)子問(wèn)題的最優(yōu)解推算父問(wèn)題的最優(yōu)解? 狀態(tài)轉(zhuǎn)移方程 ? F[i]=max{f[j]+1 | 必須滿足的是所有的a[j]都必須不小于 a[i]} 核心程序段 ? fillchar(f,sizeof(f),1)。 ? best:=1。 ? for i:=2 to n do ? begin ? for j:=1 to i1 do ? if (a[j]=a[i]) and (f[j]+1f[i]) then f[i]:=f[j]+1。 ? if bestf[i] then best:=