Luogu1216 數字三角形

2022-03-06 21:54:42 字數 819 閱讀 5593

觀察下面的數字金字塔。

寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。

7 

3 8

8 1 0

2 7 4 4

4 5 2 6 5

在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大

第乙個行包含 r(1<= r<=1000) ,表示行的數目。

後面每行為這個數字金字塔特定行包含的整數。

所有的被**的整數是非負的且不大於100。

單獨的一行,包含那個可能得到的最大的和。

5

73 8

8 1 0

2 7 4 4

4 5 2 6 5

30
從下往上推,設dp[i][j]來表示走到第i層的第j個數的最大價值,則狀態轉移方程為:dp[i][j]=max(dp[i-1][j],dp[i-1][j+1])+n[i][j],由於d[i][j]的值只與d[i-1][j]和dp[i-1][j+1]有關,所以可以優化成一維陣列,即狀態轉移方程就變成了dp[j]=max(dp[j],dp[j+1])+n[i][j]。

#include #include using namespace std;

const int n=1200;

int dp[n],n[n][n];

int main()

洛谷1216 數字三角形

題目描述 觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。7 3 8 8 1 02 7 4 4 4 5 2 6 5 在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大 輸入輸出格式 輸入格...

洛谷1216 數字三角形 dp

經典例題 洛谷p1216 數字三角形 寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。下圖的黑色三角形是我們記憶化搜尋的路徑,我們想想,是不是可以不通過記憶化搜尋就能得到這個黑色三角形?最優性 設走到某乙個位置的時候,它達到了路徑...

數字三角形

題目描述 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 25 三角形中的數字為整數 1000 輸入第一行為n,表示有n行 後面n行表示三角形每條路的路徑權 輸出路徑所經過的數字的總和最大的答案 樣...