https://www.luogu.org/problemnew/show/P1216
题目描述
观察下面的数字金字塔。

写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。

         7 3   8 8   1   0 2   7   4   4
4   5   2   6   5

在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大

输入输出格式
输入格式:
第一个行包含 R(1<= R<=1000) ,表示行的数目。

后面每行为这个数字金字塔特定行包含的整数。

所有的被供应的整数是非负的且不大于100。

输出格式:
单独的一行,包含那个可能得到的最大的和。

输入输出样例
输入样例#1:

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

输出样例#1:

30

说明
题目翻译来自NOCOW。

USACO Training Section 1.5

IOI1994 Day1T1
/*
思路:从后向前推
可以先看只有两行的子问题:
a[1][1]
a[2][1] a[2][2]
明显从最底端到最顶端的ans = max(a[2][1],a[2][2])+a[1][1]
再看有三行的子问题:
a[1][1]
a[2][1] a[2][2]
a[3][1] a[3][2] a[3][3]
a[2][1]到最底端与a[2][2]最底端和只有两行的子问题一样。

so,我们就可以初步定义最优状态为dp[i][j]
状态转移方程为:

dp[i][j] = max(dp[i+1][j],d[i+1][j+1]) + a[i][j]

确定边界条件:

最底端元素(即最后一行),dp[n][j] = a[n][j]

write code 之后想想可不可以优化,很容易发现可以优化内存~

*/
Ac_code:
code1:
//未优化内存

#include <iostream>
using namespace std;
int a[1005][1005];
int dp[1005][1005];
int main()
{int n;cin>>n;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){cin>>a[i][j];}}for(int j = 1; j <= n; j++){dp[n][j] = a[n][j];}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];}}cout<<dp[1][1]<<endl;return 0;
}

code2:
//其实可以直接开个一位数组存结果,节约内存呐~

#include <iostream>
using namespace std;
int a[1005][1005];
int dp[1005];
int main()
{int n;cin>>n;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){cin>>a[i][j];}}for(int j = 1; j <= n; j++){dp[j] = a[n][j];}for(int i = n-1; i >= 1; i--){for(int j = 1; j <= i; j++){dp[j] = max(dp[j],dp[j+1])+a[i][j];}}cout<<dp[1]<<endl;return 0;
}

P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles(简单dp)相关推荐

  1. luogu P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles (递推)

    链接:https://www.luogu.org/problemnew/show/P1216 题面: 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的 ...

  2. [USACO1.5]数字三角形 Number Triangles

    https://www.luogu.org/problemnew/show/P1216 题解: /* *@Author: STZG *@Language: C++ */ #include <bi ...

  3. P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles(记忆化搜索)--- 89分

    [USACO1.5][IOI1994]数字三角形 Number Triangles - 洛谷 /* P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles(记忆 ...

  4. 数字三角形 Number Triangles

    [USACO1.5][IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以 ...

  5. P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles

    题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...

  6. 洛谷P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles

    题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...

  7. [USACO1.5]数字金字塔 Number Triangles

    题意 从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 分析 从最低层开始走. var n,i,j:longint; f,a:array[0..2 ...

  8. java 数字三角形_数字三角形 Number Triangles(java的MLE解决办法)

    于是在网上找相应的解决办法,如何对java的内存进行优化 于是使用了里面的IO读取加速的模板,套用了一下,就过了... import java.io.BufferedReader; import ja ...

  9. 蓝桥杯 算法训练 数字三角形(最简单的DP)

    传送门 题目描述 如下图示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1<三角形行数≤100: ● ...

最新文章

  1. 计算机网络:三层ISP结构
  2. php--点赞功能的实现
  3. DFS——记忆化搜索——动态规划
  4. 2014年世界互联网大会---马云篇
  5. J2EE中在web.xml异常页面跳转
  6. 架构 | 微服务架构下如何解耦,对于已经紧耦合下如何重构?
  7. Python字典的常用操作
  8. .NET中扩展方法和Enumerable(System.Linq)
  9. 基于bootstrap框架在ie8以下,兼容媒体查询[css样式]
  10. break lab c语言,C语言实验lab10.doc
  11. NGINX配置基于Node.js服务的负载均衡服务器
  12. “不怕的人的面前才有路”!一名双非硕士的985攻博历程
  13. 正则表达式(Regex)
  14. 数独用计算机控制比数学家还厉害,用pl/sql解决芬兰数学家因卡拉设计的最难数独...
  15. 电脑照片,怎么把电脑照片传到iphone手机 将电脑照片传到iphone方法【图文】
  16. Codeforces1388 D. Captain Flint and Treasure(贪心)
  17. 乱记春秋-或跃在渊 (苏阳飘零记)
  18. 惠普关闭 secure boot
  19. 哪种手机便签软件可以打印,支持打印的手机便签软件
  20. Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了

热门文章

  1. matlab parfor不能用,matlab中parfor函数
  2. 太赞了!2020年全网最新Java面试题(附答案)免费下载!超全!!
  3. 【Git学习笔记5】以普通模式合并(--no-ff)、push到远程库及分支管理策略
  4. matlab直流电机双闭环控制系统设计,基于MATLAB的直流电机双闭环调速系统设计毕业论文.doc...
  5. struct类型重定义 不同的基类型_汇总贴:STEP7的复杂数据类型有哪些?
  6. 用python写一个简单的爬虫_用Python编写一个简单的爬虫
  7. python easygui_极客养成记/Python一点也不难/第四节
  8. c语言vc数据类型长度,vc和gcc对C语言数据类型长度的定义
  9. 拨号云服务器怎么自动配置网关_教你在阿里云创建增强型云网关
  10. mysql ---- 官网的测试数据库