题意:

杨辉三角,让从顶部开始走到底部,所经过的每一层的点数相加,使得实现最高和。

题目:

The cows don’t use actual bowling balls when they go bowling. They each take a number (in the range 0…99), though, and line up in a standard bowling-pin-like triangle like this:

Then the other cows traverse the triangle starting from its tip and moving “down” to one of the two diagonally adjacent cows until the “bottom” row is reached. The cow’s score is the sum of the numbers of the cows visited along the way. The cow with the highest score wins that frame.

Given a triangle with N (1 <= N <= 350) rows, determine the highest possible sum achievable.

Input

Line 1: A single integer, N

Lines 2…N+1: Line i+1 contains i space-separated integers that represent row i of the triangle.

Output

Line 1: The largest sum achievable using the traversal rules
Sample Input
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

Sample Output

30

Hint

Explanation of the sample:

The highest score is achievable by traversing the cows as shown above.

分析:

用dp,杨辉三角,自下而上。

AC模板:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int M=400;
int n,dp[M][M];
int main()
{scanf("%d",&n);for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)scanf("%d",&dp[i][j]);for(int i=n-1; i>0; i--)for(int j=1; j<=i; j++)dp[i][j]=dp[i][j]+max(dp[i+1][j],dp[i+1][j+1]);printf("%d\n",dp[1][1]);return 0;
}

备战ccpc分站赛ing ,题目分析简略,见谅,转载请注明出处。。。。。

Cow Bowling POJ - 3176(基础的动态规划算法)相关推荐

  1. poj2385 基础的动态规划算法 挑战程序设计竞赛

    2018-2-5 基本的动态规划算法,不知道自己为什么WA,很是绝望,于是只是把代码贴一下? #include<iostream> #include<cstring> usin ...

  2. Apple Catching POJ - 2385(基础的动态规划算法)

    题意: 给你两个数字n和m:代表会有n个苹果掉落,m次可以移动的机会:有两棵树,开始你站在树1下面,一分钟只能移动一次,下面的数值代表在哪一颗树下会掉落苹果:问你在可移动的范围内,最多可以接到多少个苹 ...

  3. poj3616 基础的动态规划算法 《挑战程序设计竞赛》

    2018-2-5 一开始在考虑这个R要怎么处置,后来突然想到直接把他加到结束时间e后面即可,然后对endtime进行排序,然后找出状态转移方程即可,由于给的数字比较大,我们可以先写成二维的,然后再对二 ...

  4. poj2229 基础的动态规划算法 挑战程序设计竞赛

    2018-2-2 首先我们不难看出: 当n为奇数时,dp[n]=dp[n-1],因为它无论如何都会有1在里面. 当n为偶数时,我们通过题意可以看出,它的序列是无序的,换言之,1,1,2和2,1,1是相 ...

  5. poj3176 基础的动态规划算法 挑战程序设计竞赛

    2018-2-2 最容易想到的一种,直接求解,后面会进行优化. #include<iostream> #include<cstring> using namespace std ...

  6. 算法基础知识——动态规划

    算法基础知识--动态规划 目录: 基础知识 分治法和动态规划的区别 动态规划算法设计步骤 最优子结构性质定义 动态规划两种等价的实现方法(自顶向下带备忘.自底向上) 子问题图 经典问题 钢条切割 矩阵 ...

  7. 1. 通用基础算法(1.7动态规划算法/1.8模拟算法/1.9其他算法)

    7  动态规划算法 动态规划(Dynamic Programming)是求多阶段决策过程(Multistep Decision Process)最优化的一种数学方法,它将问题的整体按时间或空间的特征分 ...

  8. 基础阶段(四)——MDP的动态规划算法

    提示:转载请注明出处,若文章无意侵犯到您的合法权益,请及时与作者联系. 基础阶段(四)--MDP的动态规划算法 前言 一.什么是动态规划? 二.策略评估和策略改进 1.策略评估(Policy Eval ...

  9. 【算法基础】动态规划的理解

    本章是个很有趣的问题,也是难倒很多人的问题,同时这又是个会而不难的问题. 动态规划的核心逻辑是:将问题分解为子问题.在<算法图解>这本书里,深入浅出得讲了递推公式的推演逻辑,但是在关键部分 ...

最新文章

  1. 【基础巩固篇】Java 8中对CAS的优化
  2. Java线程的调度及线程的优先级
  3. vs2019使用sqlite数据库远程连接linux
  4. python发动机曲轴连杆动力学计算
  5. OpenGL vscode 安装与配置
  6. 公基会考计算机知识,公基计算机基础知识汇总70.doc
  7. 精确选择识别png图片有像素的区域(使用方法)
  8. Unity学习日志_全局光照GI系统简介
  9. 【pyhive】本地使用pyhive连接hive数据库踩的坑
  10. 甲骨文再传裁员,补偿N+6,昔日硅谷巨头缘何败走中国
  11. 孤军大作战!疯狂DIY 1U硬件防火墙实录(转)
  12. 高博课程编程作业之计算小萝卜的坐标
  13. Unity 之 ShaderGraph 护盾
  14. PV操作与信号灯及例子+三大操作系统共同点的线程通信
  15. 马云:不要买房了,未来房子如葱!10年后最便宜的是房子车子,而最贵的是…...
  16. 8种在JavaScript数组中查找指定元素的方法
  17. centos下离线安装CM及其CDH5.14
  18. MATLAB——求系统的零状态响应
  19. 8.合并两个有序的数组
  20. DevOps之五Jenkins

热门文章

  1. Java线程安全以及线程安全的实现方式和内存模型(JMM)
  2. linux终端常用命令和windows终端常用命令对比
  3. ubuntu环境下如何安装jdk,安装eclipse,安装android studio总结
  4. Android之Bitmap的内存优化方案总结
  5. 吵架后女生和男生的夜晚!所有男生都这样吗?
  6. 因为没钱买衣服,我女朋友不要我了......
  7. 限时秒杀│中科院推荐!6个引自美国NASA盒子,玩转科学
  8. 如何使用TensorFlow玩转深度学习?
  9. 一个女程序员征男友的需求说明书
  10. 终端如何粘贴快捷键_11 个“原来可以这样”的 Linux 终端命令