hdu 2084(数塔-经典dp)
2014-05-26 17:52
393 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084
自下而上,状态转移方程:dp[i][j]=max(dp[i+1][j]+map[i][j],dp[i+1][j+1]+map[i][j]);
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
View Code
自下而上,状态转移方程:dp[i][j]=max(dp[i+1][j]+map[i][j],dp[i+1][j+1]+map[i][j]);
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
View Code
1 #include<iostream> 2 #include<algorithm> 3 const int N=110; 4 using namespace std; 5 int map ,dp ; 6 7 int main(){ 8 int _case; 9 scanf("%d",&_case); 10 while(_case--){ 11 int n; 12 scanf("%d",&n); 13 memset(map,0,sizeof(map)); 14 memset(dp,0,sizeof(dp)); 15 for(int i=0;i<n;i++){ 16 for(int j=0;j<=i;j++){ 17 scanf("%d",&map[i][j]); 18 } 19 } 20 for(int i=n-1;i>=0;i--){ 21 for(int j=0;j<=i;j++){ 22 dp[i][j]=max(dp[i+1][j]+map[i][j],dp[i+1][j+1]+map[i][j]); 23 } 24 } 25 printf("%d\n",dp[0][0]); 26 } 27 return 0; 28 }
相关文章推荐
- hdu 2084 数塔(水) 经典简单DP
- HDU 2084 DP经典例子---数塔问题
- 数塔 HDU - 2084【经典DP】
- hdu 2084(数塔-经典dp)
- HDU 2084 数塔 (经典dp)
- 各类经典dp问题分讲(HDU 2084、HDU 1003、HDU 1176)
- hdu2084 - 数塔 (经典dp)
- HDU 2084 数塔(经典dp)
- [经典dp] HDU - 2517 棋盘分割 [废话流详解]
- [HDU] 2084 数塔 - 入门dp
- hdu 2084 DP
- hdu 1024 Max Sum Plus Plus (最大m子段和)(经典DP)(转)
- hdu 1024 Max Sum Plus Plus (最大m子段和)(经典DP)(转)
- hdu 1003/poj 1050 连续子序列最大和经典基础dp
- HDU 2196 Computer(树形dp经典)
- 【DP复习5】HDU 2084——数塔
- HDU 1024 Max Sum Plus Plus DP中的经典
- hdu 4616 经典树形dp 多校第二场
- [经典dp] HDU - 2517 棋盘分割 [废话流详解]
- HDU 1516 String Distance and Transform Process(经典DP)