题目链接: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. qsort函数辅助函数compare函数的编写

    qsort的第四个参数,辅助函数compare的关于不同排序对象的不同写法: 一.对int类型数组排序 ]; int compare(const void *a, const void *b) { r ...

  2. 使用纯css3实现图片轮播

    <!DOCTYPE html> <html> <head> <title> 飛天网事--纯CSS代码实现图片轮播 </title> < ...

  3. MediaWiki搭建教程

    ♦  MediaWiki是什么以及有什么作用,这里我就不再阐述了,网上可以查到很多.这里只是简单记录一下搭建wiki的基本过程,给一些热爱捯饬的小伙伴一些参考. ♦  其实wiki的搭建本身很简单,最 ...

  4. mongoDB4--mongoDB的增删改查

    MongoDb基本操作之增删改查我们知道传统关系型数据库的最常用操作就是"增加/删除/修改/查询",也就是传说中的CRUD(create/remove/updte/delete). ...

  5. 项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】

    在上一篇项目管理实践教程二.源代码控制[Source Control Using VisualSVN Server and TortoiseSVN]中我们已经讲解了如何使用TortoiseSVN和Vi ...

  6. 不自动切换eclipse视图

    刚开始使用eclipse进行调试时,当弹出"Confir Perspective Switch"视图时,不小心点了“No”.以后每次debug的时候都不切换到debug视图. 后发 ...

  7. JQuery_图片未加载!

    JQuery_图片未加载! <html> <head> <script type="text/javascript" src="/jquer ...

  8. Android底部导航栏创建——ViewPager + RadioGroup

    原创文章,引用请注明出处:http://www.cnblogs.com/baipengzhan/p/6270201.html Android底部导航栏有多种实现方式,本文详解其中的ViewPager ...

  9. μCos-ii学习笔记2_任务管理

    二.任务管理 任务管理是ucos-ii操作系统的核心内容.这一章大致就以下流程来介绍和总结任务管理的相关知识. 要实现复杂任务管理,必然要定义众多数据来描述任务状态,为了精简,建立了许多不同的数据结构 ...

  10. oc知道经纬度求位置

    CLLocation *newLocation = [locations lastObject]; CLGeocodeCompletionHandler handler = ^(NSArray *pl ...