题目链接:http://acm.hust.edu.cn/vjudge/contest/121396#problem/F

http://lightoj.com/volume_showproblem.php?problem=1004

密码:acm

分析:求从上往下路径的最大权值。

 
解题思路:数字三角形的变形,把菱形分为上下两部分求即可。dp[i][j]表示路径到第i行第j个点的最大权值和。
 
 

*:

 上:dp[i][j]=max(dp[i-1][j], dp[i-1][j-1])+maps[i][j];
 下:dp[i][j]=max(dp[i-1][j], dp[i-1][j+1])+maps[i][j];
 
Sample Input

Sample Output
Case :
Case :

*********************************************************

 #include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream> using namespace std; #define M 10200
#define N 1500///N 开大了就MLE了,~~~~(>_<)~~~~ int dp[N][N],maps[N][N]; int main()
{
int n,i,j, T, k=; scanf("%d", &T); while(T--)
{
scanf("%d", &n); memset(dp, ,sizeof(dp));
memset(maps,,sizeof(maps)); for(i=;i<=n;i++)
for(j=;j<=i;j++)
scanf("%d",&maps[i][j]); for(i=n+;i<n*;i++)
for(j=;j<=n*-i;j++)
scanf("%d", &maps[i][j]); dp[][]=maps[][]; for(i=;i<=n;i++)
for(j=;j<=i;j++)
dp[i][j]=max(dp[i-][j], dp[i-][j-])+maps[i][j];
///上半部分从上到下
/*{
dp[i+1][j]=max(dp[i+1][j], dp[i][j]+maps[i+1][j]);
dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+maps[i+1][j+1]);
}*/ for(i=n+;i<n*;i++)
for(j=;j<=n*-i;j++)
dp[i][j]=max(dp[i-][j], dp[i-][j+])+maps[i][j];
///下半部分从上到下 printf("Case %d: %d\n", k++, dp[n*-][]);
}
return ;
}

Lightoj 1004 - Monkey Banana Problem的更多相关文章

  1. Light OJ 1004 - Monkey Banana Problem(DP)

    题目大意: 给你一菱形的数字阵,问从最上面走到最下面所能获得的最大值是多少? #include<cstdio> #include<cstring> #include<io ...

  2. Light oj-1004 - Monkey Banana Problem,数字三角形的变形版~

                                                                                                     100 ...

  3. Monkey Banana Problem LightOJ - 1004

    Monkey Banana Problem LightOJ - 1004 错误记录: 1.数组开小2.每组数据数组没有清空 #include<cstdio> #include<cst ...

  4. (LightOJ 1004) Monkey Banana Problem 简单dp

    You are in the world of mathematics to solve the great "Monkey Banana Problem". It states ...

  5. F - Monkey Banana Problem

    F - Monkey Banana Problem Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & ...

  6. [LightOJ1004]Monkey Banana Problem(dp)

    题目链接:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1004 题意:数塔的变形,上面一个下面一个,看清楚 ...

  7. 2016huasacm暑假集训训练五 F - Monkey Banana Problem

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F 题意:求至上而下一条路径的所经过的值得和最大值,这题比赛时就出了 但当时看不懂题 ...

  8. lightoj 1004 dp:数字三角形

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1004 #include <cstdio> #include <cst ...

  9. LightOJ 1319 Monkey Tradition(中国剩余定理)

    题目链接:https://vjudge.net/contest/28079#problem/U 题目大意:给你n(n<12)行,每行有pi,ri,求一个数ans满足ans%pi=ri(i从1~n ...

随机推荐

  1. Computed Observable的参数

    构造计算监控(Constructing a computed observable) 1. ko.computed( evaluator [, targetObject, options] ) eva ...

  2. zendstudio 安装 手册

    安装 http://jingyan.baidu.com/article/b907e627b14fbb46e6891c65.html 选择baidu官方32bit安装 补丁破解网址 http://dwt ...

  3. C++中##(两个井号)和#(一个井号)用法

    C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结.关 于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化 ...

  4. Quartz任务调度器及与Spring的整合使用

    参考  点击打开链接

  5. android mediaplayer

  6. 在 Linux 环境下报错 java.lang.reflect.InvocationTargetException

    今天开发了一个 excel 导出数据的功能,放到 linux 服务器上后发现报错. 捕获到 java.lang.reflect.InvocationTargetException 异常,这个异常不太常 ...

  7. webform在页面生成的代码与事件回传

    <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['form1'] ...

  8. 《剑指Offer》算法题——“旋转数组”的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减序列的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数 ...

  9. nefu 753 n!末尾有多少个0

    Problem : 753 Time Limit : 1000ms Memory Limit : 65536K description 计算N!末尾有多少个0 input 输入数据有多组,每组1行,每 ...

  10. 第3章 Java语言基础----成员变量与局部变量

    在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...