数塔

https://vjudge.net/problem/HDU-2084

#include <cstdio>
#include<algorithm>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
   int t;
   scanf("%d",&t);
   while(t--)
   {
       int n;
       int dp[110][110],arr[110][110];
       memset(dp,0,sizeof(dp));
       scanf("%d",&n);
       for(int i=1;i<=n;i++)
       {
           for(int j=1;j<=i;j++)
           {
               scanf("%d",&arr[i][j]);
           }
       }
       dp[1][1]=arr[1][1];
       for(int i=2;i<=n;i++)
       {
           for(int j=1;j<=i;j++)
           {
               dp[i][j]=max(dp[i-1][j-1],dp[i-1][j])+arr[i][j];
           }
       }
       int ans=0;
       for(int i=1;i<=n;i++)
       {
           ans=max(ans,dp[n][i]);
       }
         printf("%d\n",ans);
   }
}

滚动数组版本

#include <cstdio>
#include<algorithm>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
   int t;
   scanf("%d",&t);
   while(t--)
   {
       int n,dp[2][110],arr[110][110];
       scanf("%d",&n);
       memset(dp,0,sizeof(dp));
       for(int i=1;i<=n;i++)
       {

           for(int k=1;k<=i;k++)
           {
               cin>>arr[i][k];
           }
       }
       dp[1][1]=arr[1][1];
       int w=0;
       for(int i=2;i<=n;i++)
       {

           for(int k=1;k<=i;k++)
           {
               dp[w][k]=max(dp[w^1][k],dp[w^1][k-1])+arr[i][k];
           }
           w^=1;
       }
       int ans=0;
       w^=1;
       for(int i=1;i<=n;i++)
       {
           ans=max(ans,dp[w][i]);
       }
       printf("%d\n",ans);
   }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在进行动态规划的时候需要注意:1、求出状态转移方程。2、要避免出现低效率的递归。可以用数组进行保存,实现记忆化查找...
    Kevin1996cn阅读 926评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,029评论 25 709
  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,303评论 3 283
  • 时间:9.28。 姓名:韩安祺 祝福之力.慧光七班作业 邀请慧光七班灵性家族祝福我。 1不感恩:我不感恩我的...
    AIA韩安祺阅读 271评论 0 0
  • 今天一高中同学给我说: “我男朋友和我分手了 但是我想挽回 无果 我说要和他做朋友 他同意了。” 不知道为什么, ...
    单车不说话阅读 7,018评论 0 2