题意:

给出一个数字三角形,你如果想要取出一个格子的数字,必须把这个格子的父亲都取走,问你能取走的最大值。

思路:

想到如下的转化:

我们就可以把此题变成在第二个图形上选择矩形,具体细节请看代码。

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>using namespace std;int sum[1005][1005];
int dp[1005][1005];
int num[1005][1005];int main()
{int n;while(scanf("%d",&n)!=EOF){if(n==0)return 0;for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){scanf("%d",&num[i-j+1][j]);}}//        for(int i=1;i<=n;i++)
//      {
//          for(int j=1;j<=n-i+1;j++)
//              printf("%d ",num[i][j]);
//          printf("\n");
//      }
//memset(sum,0,sizeof sum);for(int i=1;i<=n;i++){for(int j=1;j<=n-i+1;j++){sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+num[i][j];}}
//      printf("----------------\n");
//      for(int i=1;i<=n;i++)
//      {
//          for(int j=1;j<=n-i+1;j++)
//              printf("%d ",sum[i][j]);
//          printf("\n");
//      }
//      printf("----------------\n");int ans=0;memset(dp,0,sizeof dp);for(int i=1;i<=n;i++){int tmpj=n-i+2;for(int j=n-i+1;j>=1;j--){if(dp[i-1][j]>dp[i-1][tmpj])tmpj=j;              dp[i][j]=dp[i-1][tmpj]+sum[i][j]-sum[i-1][j];//if(dp[i][j]==6)//    printf("%d %d\n",i,j);ans=max(dp[i][j],ans);}}printf("%d\n",ans);}return 0;
}

uvalive5790(DP)相关推荐

  1. dp,sp,px相互转化

    方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...

  2. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  3. HDU 2084 数塔(DP)(JAVA版)

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. dp cf 20190615

    A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...

  5. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MB Submit ...

  6. [NOI2005]聪聪与可可(期望dp)

    题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...

  7. Codeforces 903F Clear The Matrix(状态压缩DP)

    题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...

  8. 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)

    A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05   最后更新: 2017年2月21日 20:06   时间限制: 1000ms   内存限制: 128M 描述 传说喵哈哈村有三种神 ...

  9. 尼克的任务 dp 洛谷1280

    蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...

最新文章

  1. 提高期——SLA实践指导秘籍
  2. 【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)
  3. 习题11-7 奇数值结点链表 (20 分) -链表
  4. Spring Cloud Zuul –编写过滤器
  5. mybatis插入数据后返回自增主键ID详解
  6. QtJava笔记-Qt与Java进行SSL双向认证(Qt客户端,Java服务端)
  7. 信息学奥赛一本通(1067:整数的个数)
  8. 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性...
  9. redis set时间单位_SpringBoot+Redis分布式锁:模拟抢单
  10. mysql数据库主从出现1236错误
  11. Android电池驱动【转】
  12. ImportError: Could not find the DLL(s) ‘msvcp140_1.dll‘. TensorFlow requires that these DLLs be inst
  13. PAT 计算机程序设计能力考试
  14. 牛客网——判断上三角矩阵
  15. DayDayUp:平均每篇文章1毛! 本博主自2020年6月1日起,如有任何问题可在博客贴吧留言或者私信博主(包括并不限于GUI软件编写、安装及编程语言中的bug、AI算法设计等),非诚勿扰!
  16. 华大单片机开发板HC32L13X上手入门
  17. 个人博客系统源码 溯雪Sxlog轻博客源码 PHP开源 简洁干净轻博客源码
  18. 怎么让计算机锁屏之后网络不断,win10系统如何设置锁屏时不断网|win10系统锁屏断网的还原办法...
  19. 英语总结——新的开始
  20. 知识图谱问答的实践技术分享的书面版本

热门文章

  1. 科大星云诗社动态20220107
  2. [MATLAB学习笔记]view相机视角
  3. 机器学习碎碎念:霍夫丁不等式
  4. python第一个发行版本由c语言实现_【Python】讲真,你知道Python咋来的吗?
  5. SVM熟练到精通1:初识SVM
  6. 用键盘全局钩子[Hook]监视多进程键盘操作
  7. 优秀程序员的45个习惯
  8. ServletContextListener
  9. kernel_mktime() 详解 —— Linux-0.11 学习笔记(四)
  10. bitcoin 在ubuntu上的安装指南