hdu 2084 数塔
来源:互联网 发布:php erp 编辑:程序博客网 时间:2024/05/16 06:48
这题如果从上往下递推就要分两种情况写递推式:
if(i-j>=1)
dp[i][j]=max(dp[i-1][j]+dp[i-1][j+1])+当前[i][j]的值
else
dp[i][j]=dp[i-1][j-1]+当前[i][j]的值
但是如果倒过来考虑,也就是从底部开始往上递推,那么递推式就是:
dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+当前[i][j]的值
这样写就方便多了。
#include <iostream>#include<stdio.h>#include<cstring>using namespace std;int a[105][105],dp[105][105];int main(){ int cas; scanf("%d",&cas); while(cas--){ int n; memset(dp,0,sizeof(dp)); scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=i;j++){ scanf("%d",&a[i][j]); } for(int i=1;i<=n;i++) dp[n][i]=a[n][i]; for(int i=n-1;i>=1;i--) for(int j=1;j<=i;j++){ dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+a[i][j]; } printf("%d\n",dp[1][1]); } return 0;}
- HDU 2084 数塔
- hdu 2084 数塔
- hdu 2084 数塔
- hdu 2084 数塔
- hdu 2084 数塔
- HDU 2084 数塔
- hdu 2084 数塔
- HDU 2084 数塔
- HDU 2084 数塔
- hdu 2084 数塔
- hdu 2084 数塔
- HDU 2084(数塔)
- HDU 2084 数塔
- HDU-2084数塔
- HDU 2084 数塔
- hdu 2084 数塔
- hdu--2084--数塔
- HDU 2084 数塔
- Vector C++ 详细用法
- hdu 1865 畅通工程再续
- 电能无线传输技术再现曙光
- 问题集1
- 如何反编译APK
- hdu 2084 数塔
- hdu 2094 产生冠军
- hdu 2647 Reward
- hdu 1811 Rank of Tetris
- hdu 1158 Employment Planning
- poj 1018 Communication System
- hdu 1827 Summer Holiday
- hdu 1295 Move Move Look
- poj 2367 Genealogical tree