//填寫備忘錄表。查詢。
//從低到高遞迴填寫備忘錄。
//最初資料,經過幾次抉擇,產生更多資料。
public
static
class
dynamicprocess
;//fill notetable.
integer notetable=new integer[6
]; notetable[
0]=0
; filltable(notetable, specification);
int length=5
; lslog.printline(length+"
best:
"+notetable[length], 1
); }
private
static
void filltable(integer table,int
specifition)
}//size:原始資料 .level:進行第幾個抉擇。
//對乙個多抉擇點問題,進行遞迴抉擇。分解:n-1 的結果刪除最後乙個,再插入2中可能。最小解:level=0,無抉擇,建立初值。
private
static mylinkedlist>resultlist(integer size,integer level)
else
for(int i=0;i)
return
tempret;}}
private
static
int bestvalue(mylinkedlist> ret,int specifition,int
level,integer table)
tempvalue+=choosevalue;
}bestvalue=bestvalue>tempvalue?bestvalue:tempvalue;
lslog.printline(
"******
"+tempvalue +"
.best.
"+bestvalue, 1
); }
return
bestvalue;}}
動態規劃 切鋼條
一家公司購買長鋼條,將其切割成短鋼條 切割本身沒有成本,長度為i的短鋼條的 為pi。那給定一段長度為n的鋼條和乙個 表pi,求鋼條的切割方案使得收益rn最大。輸入鋼條的長度n。輸出獲得的最大收益。718 問題思路 把長度為n的鋼條看做n段長度為1的鋼條,從鋼條的最左端開始的相鄰連線點開始,可以選擇切...
動態規劃之鋼條切割
最近學習動態規劃,做個匯報吧!不同長度的鋼條,賣出時收益不同 1,1 2,5 3,8 4,9 5,10 6,17 7,17 8,20 9,24 10,30 問題就是我有一根鋼條,怎樣可以收益最大?這裡只寫思想,不寫過程,專注於演算法 一根鋼條,假如10公尺,我可以整體去賣,也可以切斷幾段去賣,那就用...
動態規劃之鋼條切割
假定某公司購買長鋼條,將其切割為短鋼條進行 切割工序本身沒有成本支出 考慮求出最佳的切割方案。一段長度為i的鋼條 如下表 長度i p11 2538 49510 617717 820924 1030 長度為n的鋼條共有2的n 1次方種不同的切割方案,因為在距離鋼條左端i處,總是可以選擇切割或不切割。所...