数塔(HDU-2084)
Problem Description
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
Input
输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。
Output
对于每个测试实例,输出可能得到的最大和,每个实例的输出占一行。
Sample Input
1
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5Sample Output
30
思路:
设:dp[i][j]为第i行第j列的最大和
则:
- 状态转移方程:dp[i][j]=max(dp[i-1][j-1],f[i-1][j])+num[i][j];
- 边界条件:dp[1][1]=dp[1][1]
记得在最后一行寻找最大值即可
Source Program
#include<iostream>
#include<cstring>
#define N 101
using namespace std;int num[N][N];
int dp[N][N];int main()
{int c,n;int i,j;cin>>c;while(c--){memset(dp,0,sizeof(dp));/*初始化*/cin>>n;for(i=1;i<=n;i++)for(j=1;j<=i;j++)cin>>num[i][j];dp[1][1]=num[1][1];/*边界条件*/for(i=2;i<=n;i++)for(j=1;j<=i;j++)dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+num[i][j];//状态方程int maxx=-99999999;for(i=1;i<=n;i++)//寻找最后一行最大值maxx=max(maxx,dp[n][i]);cout<<maxx<<endl;}
}
数塔(HDU-2084)相关推荐
- J - 数塔 HDU - 2084(深搜,记忆化搜索+)
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...
- 数塔 HDU - 2084
题目 给定一个具有 N 层的数字三角形,从顶至底有多条路径,每一步可沿左斜线向下或沿右斜线向下,路径所经过的数字之和为路径得分,请求出最大路径得分. 输入 1 5 7 3 8 8 1 0 2 7 4 ...
- 数塔(hdoj 2084,动态规划递推)
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...
- HDU -- 2084 数塔(简单DP)
HDU -- 2084 数塔 题意: 自上而下,选择一条累计和最大的路径 分析: 顶点只与左右两个子节点相关,且子节点路径的选择与顶点无关(无后效性) 状态dp[i][j]:表示(i,j)点向下得到 ...
- HDU 2084 数塔 DP
http://acm.hdu.edu.cn/showproblem.php?pid=2084 题目: 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走 ...
- HDU 2084 数塔(DP)(JAVA版)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 2084 数塔(DP)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 数塔(杭电2084)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 1176 dp 数塔问题
哎,一开始没看到从5开始.... 后来写懵了,用了queue正推,记录能到达的节点,p[i+1][j] = max(p[i][j],max(p[i][j-1],p[i][j+1])) 嗯,用stl m ...
- [ACM_动态规划] hdu 1176 免费馅饼 [变形数塔问题]
Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
最新文章
- TVM性能评估分析(一)
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】...
- 浅析网站SEO优化中导航优化的四大技巧!
- leetcode算法题--完美数
- 安装MindStudio
- java 内存屏障类型_Java内存模型精讲
- discuz安装_手动搭建 Discuz! 论坛
- 为iptables增加layer7补丁(Linux2.6.25内核
- iPhone 11外壳保护套曝光:噢,这个浓厚的老干部风格
- mysql 为什么不能安装_下载的mysql怎么无法安装
- python反归一化_pytorch 归一化与反归一化实例
- Git 时光穿梭鸡 管理修改
- python模块之httplib(在py3中功能进一步强大,请详看文档)
- AngularJs依赖注入的研究
- 初夏小谈:浅谈字节序,TCP,UDP协议
- 编写数码管c语言程序,跪求单片机0~99数码管显示用C语言编写的程序
- HDU - 6070 Dirt Ratio (二分 + 线段树)
- 已安装visual studio 如何添加新模板和组件
- 李开复:从毛遂自荐到萌生去意
- 航海世纪服务器维护中,航海世纪2月28日例行维护公告
热门文章
- 雷军 1994 年写的代码,你见过吗?厉害了!
- 很多未解之谜终于有答案了——2018年JVM生态系统报告出炉
- discuz! X3 更改域名全程记录 (修改域名的方法)
- jeecg-framework-3.1.0.RELEASE 正式发布
- D语言/dlang 2.085.0 发布,GC、Objective-C 混编增强
- JS每日一题:vue中keepalive怎么理解?
- SpringBoot使用@Cacheable实现最简单的Redis缓存
- vue2.0项目结构和打包发布
- Java 中 @Autowired与@Resource的区别
- Excel 2016新增函数之IFS