洛谷 P1216 數字三角形(dp)

2021-08-17 04:36:06 字數 920 閱讀 6354

題目描述

觀察下面的數字金字塔。

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

輸入輸出格式

輸入格式

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

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

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

輸出格式

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

輸入輸出樣例

輸入樣例#1:

5

73 8

8 1 0

2 7 4 4

4 5 2 6 5

輸出樣例#1:

30
此題有很多寫法,這裡只介紹一種。。。

主要思路是從下往上遞推,假設現在n-1層,往上的n-2層就由n-1層的兩個數決定,哪個大加哪個,並改變n-2層的賦值,這樣一直改變上去直到1號節點。

上**

#include 

#include

#include

#include

using

namespace

std;

int n;

int a[1005][1005];

int main()

}for(i=n-1;i>=1;i--)

}printf("%d",a[1][1]);

return

0;}

總結:dp問題重要的是狀態轉移

洛谷 P1216數字三角形

題目描述 觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。在上面的樣例中,從7 3 8 7 5 的路徑產生了最大 輸入格式 第乙個行乙個正整數 rr 表示行的數目。後面每行為這個數字金字塔特定行包含的整數。輸...

P1216 數字三角形 洛谷

觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。738 8102 7444 5265在上面的樣例中,從 7 to 3 to 8 to 7 to 57 3 8 7 5 的路徑產生了最大 輸入格式 第乙個行乙個正...

洛谷1216 數字三角形 dp

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