題目很簡單,是dp和記憶化搜尋的入門練手好題
有乙個坑點,全為0的時候,記憶化沒初始化為其它值的話,還是暴力遞迴絕對超時。。(所以記憶化時,根據題目要求分析,一般都初始化為-1)
1 #include 2 #include3 #include 4 #include 5 #include 6 #include 7
using
namespace
std;
8 typedef long
long
ll;9 typedef unsigned long
long
ull;
10const
int maxn=1005;11
inta[maxn][maxn];
12int
f[maxn][maxn];
13int
vis[maxn];
14int
r;15
16int so(int x,int
y)17
2324
int l=y,r=y+1;25
int ls=a[x][y],rs=a[x][y],ans=a[x][y];
26if(l>=1) ls+=so(x+1
,l);
27if(r<=r) rs+=so(x+1
,r);
2829 ans=max(ans,ls);
30 ans=max(ans,rs);
31 f[x][y]=max(f[x][y],ans);
32return
f[x][y];33}
3435
intmain()
3647}48
49int ans=so(1,1
);50
51 cout5253
return0;
54 }
完。
洛谷 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 的路徑產生了最大 輸入格式 第乙個行乙個正...
洛谷 P1216 數字三角形(dp)
題目描述 觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。輸入輸出格式 輸入格式 第乙個行包含 r 1 r 1000 表示行的數目。後面每行為這個數字金字塔特定行包含的整數。所有的被 的整數是非負的且不大於1...