題目 動態規劃(1)

2021-10-06 19:11:26 字數 601 閱讀 7857

題目:動態規劃(1)

題目描述如下:

1~8表示8個區段,紅色標出每個區段的工價,橫軸表示時間,每個時間點只能完成乙份工,請問乙個員工一天最多可以賺多少錢?

#注意:prev和vi為了索引i從0開始,故加入prev[0]、vi[0]的初始化值

#該初始化值不影響計算,只為了使索引從0開始

prev =[0

,0,0

,0,1

,0,2

,3,5

]vi =[0

,5,1

,8,4

,6,3

,2,4

]dp =[0

]#邊界條件

for i in

range(1

,9):

max(dp[i-1]

,dp[prev[i]

]+vi[i]))

print

(max

(dp)

)

題目出自b站教學:

動態規劃題目特性

1 此類問題是乙個由多決策產生最優值的最優化問題.決策 是指在問題可以按時間順序分成若干相互聯絡的階段,每乙個階段都需要做出決策,產生最優值,整個求解過程中的決策是乙個決策序列.最優化問題 眾所周知在資訊學之中有四大類問題 判定性問題 構造性問題 計數問題和最優化問題。其中最優化問題遇到的較多,而最...

動態規劃 經典題目

made by syx time 2010年7月17日 13 58 47 矩陣連乘 最長公共子串行 最長公共子串行 include char x 8 char y 7 int b 9 8 int c 9 8 void printarray int i1,int j1,int i2,int j2,in...

動態規劃題目彙總

70.爬樓梯 方法 動態規劃 演算法不難發現,這個問題可以被分解為一些包含最優子結構的子問題,即它的最優解可以從其子問題的最優解來有效地構建,我們可以使用動態規劃來解決這一問題。第 i 階可以由以下兩種方法得到 在第 i 1 階後向上爬一階。在第 i 2 階後向上爬 2階。所以到達第 ii階的方法總...