hdu 2084 数塔
来源:互联网 发布:java object转为实体类 编辑:程序博客网 时间:2024/06/06 19:54
问题的描述大意为 : 给出一个二维数组,每个位置具有一个值,要求从顶层走到底层,路过一个点则获取相对应的值,期望到达底层能够获得最大值.
解析: 显然,过程可逆.即如果从顶层走到底层最大,则从底层走到顶层也必定最大.所以,要想在顶点处获得最大值,则应当选取顶点的下一层的最大值.要获取顶点下一层的最大值,则需要获取顶点下面第二层的最大值,如此反复直到底层.
行走策略 : dp[i][j] = max(dp[i+1][j+1],dp[i+1][j]); i代表层数,j代表该层数的序号.
#include <iostream>#include <string.h>#include <stdio.h>using namespace std;const int MAXN = 105;int T,N;int a[MAXN][MAXN],dp[MAXN][MAXN];int max(int,int);int main(){// freopen("2084.txt","r",stdin); scanf("%d",&T); while(T--) { scanf("%d",&N); for(int i = 0; i < N; i++) for(int j = 0; j <= i; j++) scanf("%d",a[i]+j); memset(dp,0,sizeof(dp)); for(int i = N; i >= 0; i --) for(int j = 0; j <= i; j++) dp[i][j] = max(dp[i+1][j],dp[i+1][j+1]) + a[i][j]; printf("%d\n",dp[0][0]); } return 0;}int max(int a,int b){ return a > b ? a : b;}
0 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 数塔
- Linux下编写运行访问MYSQL的程序以及MYSQL在linux下的下载安装
- AsyncTask类插入数据到服务器与接口回调
- android学习 一
- javaweb中HTTP协议
- 感慨
- hdu 2084 数塔
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- python的可变长参数
- Linux信号机制
- java 访问权限
- 04@设计模式—(02)抽象工厂模式
- 算法入门经典习题6-2,uva712,S-Trees
- Excel转PDF的相关问题处理
- Android开发常遇问题——Process 'command 'D:....\jdk8_64\bin\java.exe'' finished with non-zero exit value 2