数塔取数 基础dp
2017-01-07 11:33
253 查看
从低端向上,每个结点取下一层左右结点最大值和本身价值相加,dp[0][0]为最后结果
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; #define MAXN 510 typedef long long LL; LL a[MAXN][MAXN],dp[MAXN][MAXN]; LL sum = 0,level; int main() { int i,j; scanf("%lld",&level); for(i=0;i<level;i++) for(j=0;j<=i;j++) scanf("%lld",&a[i][j]); for(i=level-1;i>=0;i--) dp[level-1][i] = a[level-1][i]; for(i=level-2;i>=0;i--) { for(j=0;j<=i;j++) { dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j]; //printf("%lld\n",dp[i][j]); } } printf("%lld\n",dp[0][0]); return 0; }
相关文章推荐
- 数塔 (HDU_2084) 基础DP
- 几个基础数位DP (hdu 2089,hdu 3555 ,uestc 1307 windy 数)
- poj 1088 基础的DP
- hdu 1081 To The Max 基础dp
- 状态压缩DP基础题解题报告
- UVA 674 Coin Change (基础dp)
- hdu 3853 LOOPS(基础DP求期望)
- 数位dp基础题目
- poj2342/poj3342——基础的树形DP
- HDU 1520 Anniversary party (基础树形DP)
- DP基础问题若干(ACM/ICPC)
- DP(1) --- 数塔
- World Cup Noise(DP基础)
- HDU 1561 The more, The Better - 依赖背包+树形dp基础
- hdu 1003/poj 1050 连续子序列最大和经典基础dp
- POJ1949 DP基础题
- hdu 2084 数塔 最基础DP
- 个人DP训练(基础版)
- 数塔(Dp)
- HDU 2084 基础DP