description
input
多組測試資料,每組測試資料首先給出整數n,t (0
output
對於每組測試資料輸出乙個整數,表示猴子快樂的最大點數。
sample input
3 40 1 0 1
1 0 0 1
1 1 1 1
3 41 0 1 0
1 1 1 0
1 1 1 1
1 51 0 1 0 1
sample output24
3思路引導
(1)首先一定和所在柱子有關係
(2)和時間也有關係
(3)顯然在條件確定的情況下是滿足最優子結構的,即可以用dp解決
解題報告
用max[i][j]表示在第i時間在第j個柱子上時能得到的最大的幸福值;grid[i][j]表示第i時間第j柱子是否有蟲子。那麼mx[i][j]=max(mx[i-1][j-1],m[i-1[j],mx[i-1][j+1])+grid[j][i].邊界問題要特別注意。
源**:
#include
#define max (1<<29)
#define n 110
#define t 10100
#define max(a,b,c) (((a)>(b)?(a):(b))>(c)?((a)>(b)?(a):(b)):(c))//找出三個數中最大的數
int mx[t][n], //mx[i][j]表示在第i時間在第j個柱子上時能夠得到的最大的幸福值
grid[n][t]; //grid[i][j]表示第i時間在第j個柱子上是否有蟲子
int n, //表示共有多少個柱子
limt; //表示遊戲結束的時間
int main()
return 0;}
動態規劃 什麼是動態規劃?
先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...
mysql動態規劃 動態規劃
動態規劃 能夠動態規劃的問題具有以下特點 可分解成規模更小的子問題 子問題的結果可復用 關鍵是要理解狀態轉移方程的含義就好啦!數字三角形 問題描述 在數字三角形尋找從頂到底的路徑,使得路徑經過的數字之和最大。規定每一步只能往左下或右下走,求出最大路徑和。遞迴解法 include include us...
《動態規劃》 ACM 動態規劃例題詳解
描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 圖1 圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。注意 路徑上的每一步只能從乙個數走到下一層上和它最近的左邊的那個數或者右邊的那個數。輸...