51nod動態規劃 矩陣取數

2022-08-09 07:12:12 字數 674 閱讀 4282

乙個n*n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。

例如:3 * 3的方格。

1 3 3

2 1 3

2 2 1

能夠獲得的最大價值為:11。

input

第1行:n,n為矩陣的大小。(2 <= n <= 500)

第2 - n + 1行:每行n個數,中間用空格隔開,對應格仔中獎勵的價值。(1 <= n[i] <= 10000)

output

輸出能夠獲得的最大價值。

input示例

3

1 3 3

2 1 3

2 2 1

output示例

11

狀態轉移方程:f(i,j) = max;//

不知道為什麼這個不能跟前面的map一起定義。。。

for(i=0;i)

for(j=0;j)

dp[i][j]=max(dp[i-1][j],dp[i][j-1])+map[i][j];

printf(

"%d\n

",dp[n-1][n-1

]); }

return0;

}

51nod 更難的矩陣取數問題 滾動陣列優化

這裡要求要走到終點再走回來,可以轉化為兩個人走。那麼我們可以先粗暴的設f x1 y1 x2 y2 為第乙個人走到 x1,y1 第二個人走到 x2,y2 的最大價值。那麼這樣空間會很大,通過觀察可以發現,乙個走的步數 橫座標 縱座標,因為走一步一定是橫座標 或者縱座標 1.那麼我們就可以轉化為f st...

51nod 教程 0 1揹包問題(動態規劃)

有n件物品,第i件物品 i 1,2,3 n 的價值是vi,重量是wi,我們有乙個能承重為m的揹包,我們選擇一些物品放入揹包,顯然放入揹包的總重量不超過m。我們要求選擇物品的總價值最大,請問如何選擇?這裡我們假設所有出現的數都是正整數。第一想法是?1 列舉?萬能的列舉啊。但對於n件物品,每件都可以選擇...

51 Nod 最大子矩陣和

1051 最大子矩陣和 基準時間限制 2 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 乙個m n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如 3 3的矩陣 1 3 1 2 1 3 3 1 2 和最大的子矩陣是 3 1 1 3 1 2i...