poj1163 數字三角形 動態規劃

2021-08-15 11:38:39 字數 710 閱讀 8885

1.記憶遞迴型(自頂向下)

d[i][j]來存數字

典型的遞迴問題:d(r,j)出發,下一步只能走d(r+1,j)或者d(r+1,j+1).故對於n行的三角形:

if(r==n)

maxsum(r,j)=d(r,j)

else

maxsum(r,j)=max(maxsum(r+1,j),maxsum(r+1,j+1)

)+d(r,j)用ans[i][j]來存計算出的結果,避免重複計算

#include using namespace std;

#define max 101

int d[max][max];

int ans[max][max];

int n;

int maxsum(int i,int j)

int main()

}cout<

#include using namespace std;

#define max 101

int d[max][max];

int ans[max][max];

int n;

int main()

cout#define max 101

int d[max][max];

int *ans;

int n;

int main()

POJ 1163數字三角形

所犯錯誤 1 在迴圈中用scanf輸入陣列元素時時,忘記敲 位址符,導致程式停止,改正 2 在測試時想輸出這個二維陣列的所有元素,雖然用了雙重迴圈,但輸出時只寫了a i 導致輸出了位址 3 這道題不能用萬能標頭檔案,識別不了,可以用 include 心得 1 73 8 8 1 0 2 7 4 4 4...

POJ 1163 數字三角形

portal dp經典題,ioi94考題,在各大oj上都有 1 include2 include3 include 4 include5 include6 include7 using namespace std 8 define for i,j,k for int i j i k i 9 defi...

POJ1163 數字三角形 經典DP題目

題目大意 如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值的和最大。圖是我盜的 如果用陣列num j i 表示j行i列的數字,dp j i 表示從該位置向下走的子問題的最優解,整個問題最終就是要求解dp 1 1 就是最頂端的位置的最優...