`
tudusi
  • 浏览: 1085205 次
文章分类
社区版块
存档分类
最新评论

[ACM]POJ1163 The Triangle

 
阅读更多

DP 数字三角形

Description

........7
......3 8
....8 1 0
..2 7 4 4
4 5 2 6 5

(Figure 1)

Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or diagonally down to the right.

Input

Your program is to read from standard input. The first line contains one integer N: the number of rows in the triangle. The following N lines describe the data of the triangle. The number of rows in the triangle is > 1 but <= 100. The numbers in the triangle, all integers, are between 0 and 99.

Output

Your program is to write to standard output. The highest sum is written as an integer.

Sample Input

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

Sample Output

30

这道题咋一看挺简单,最容易想到的是采用递归,遍历若有的路径,对所有的路径求和,然后求出最大值,代码如

下:


然而,递归终究不是最理想的解法,无论从时间复杂度还是从空间复杂度都不是最理想的选择,我们可以换一种思

维,“自底向上”逐个比较最大值,从倒数第二层开始,用下一层子节点的最大值与本节点相加,“逆流而上”,见

代码:


呵呵,代码量是不是少了很多,而且时间复杂度和空间复杂度都降低了!(第二种解法来源于网上,感谢原作者)


分享到:
评论

相关推荐

    Pku acm 第1163题 The Triangle 代码,有详细的注释

    Pku acm 第1163题 The Triangle 代码,有详细的注释,动态规划

    acm poj题目分类

    acm poj 比较详细的将poj的题目进行了分类,如dp,搜索,数据结构等等

    ACM POJ PKU 最全题目分类

    ### ACM POJ PKU 最全题目分类解析 #### 动态规划(DP) 在计算机科学领域,动态规划(Dynamic Programming, DP)是一种重要的算法思想,主要用于解决多阶段决策过程中的优化问题。它通过将原问题分解成相互重叠的...

    ACM Poj Pku 解题报告答案 打包 下载 600多题 史上最全

    ACM Poj Pku 解题报告答案 打包 下载 600多题 史上最全 不是网上乱传的200多题,更不是100多题就挂着10分才能下的题 下了这个 大家也不要浪费分数去下载其它版本的了,基本上都有 共享 一起进步 中国加油 ACMer...

    acm poj300题分层训练

    【acm poj300题分层训练】是针对ACM竞赛训练的一个题集,旨在帮助参赛者系统地提升编程和算法能力。这个训练计划分为初级、中级两个阶段,涵盖了许多核心的算法和数据结构。 **初级阶段**主要关注基础算法和数据...

    ACM poj 题目分类

    【ACM POJ 题目分类】是针对ACM(国际大学生程序设计竞赛)中的问题进行的一种整理和归类,旨在帮助参赛者更有效地学习和准备比赛。这些题目涵盖了不同的算法和编程技巧,通常根据难度和涉及的主题进行划分。在POJ...

    acm The Triangle

    是一道动态规划的基础题。

    ACM.zip_ACM_poj_poj3187_poj3669

    标题 "ACM.zip_ACM_poj_poj3187_poj3669" 提供的信息表明,这个压缩包包含的是与ACM(国际大学生程序设计竞赛)相关的编程题目解决方案,具体是POJ(Programming Online Judge)平台上的两道题目,编号分别为poj3187...

    ACM,poj1737

    ACM poj1737,Connected Graph

    北京大学ACMpoj1001

    北京大学ACM详解poj1001, 内容很充实。

    acm poj题目分类介绍 包含一个题解文档

    在ACM(国际大学生程序设计竞赛)中,POJ(普林斯顿在线判题系统)是一个广受欢迎的训练平台,提供了大量的编程题目供参赛者练习。这个压缩包“acm poj题目分类介绍 包含一个题解文档”显然是为了帮助参赛者更好地...

    poj经典动态规划题目解题报告

    poj经典动态规划题目解题报告,包括经典的动态规划题目20多道,可以作为学习动态规划系统的资料,包括题目: Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm 1160 post office Pku ...

    acm poj 源代码

    1001 1002 1003 1004 1005 1006 1007 1008 1011 1012 1013 1014 1015 1017 1018 1019 1028 1032 1042 1046 1050 1061 1065 1066 1067 1077 1080 1083 1088 1094 1111 1125 1135 1141 1157 1160 1161 1163 1166 1170 ...

    The triangle

    The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26414 Accepted: 15435 Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program...

    ACM POJ 1002题解摘要

    ### ACM POJ 1002题解摘要 #### 题目背景与目标 本题目来自POJ(Pacific OpenJudge)平台上的一个经典问题,编号为1002。题目要求解决的是电话号码标准化的问题,即如何将各种形式的电话号码转换成统一的标准格式...

    杭电ACMhdu1163

    【标题】:杭电ACMhdu1163 【描述】:这是一道源自杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的ACM编程竞赛题目,编号为1163。这类问题通常需要参赛者利用计算机编程解决数学、逻辑或算法上的挑战,...

    pojACM题目分类

    pojACM题目分类,便于各类型同学分别做题有所参考

    POJ各题算法分类和题目推荐 ACM必看

    * 短代码:1147、1163、1922、2211、2215、2229、2232、2234、2242、2245、2262、2301、2309、2313、2334、2346、2348、2350、2352、2381、2405、2406 * 中短代码:1014、1281、1618、1928、1961、2054、2082、2085...

    ACM POJ题解与cpp(c++)源码 总共220道题

    总共220题,题号囊括1000-3000多,从最简单到最典型。源码书写清晰优美,适合初学者入门,同样适合中级进阶。 这是我找了很久找到的,非常全,强烈向...在POJ上练习ACM和想实践cpp的朋友都适用,希望大家能学有所成!~

    ACM-POJ 算法训练指南

    根据给定的文件信息,以下是对“ACM-POJ算法训练指南”的详细解析与相关知识点的归纳: ### 一、基本算法 1. **排序**:包括了基础的排序算法,如快速排序(poj1753, poj2965),是算法学习的基础。 2. **搜索**:...

Global site tag (gtag.js) - Google Analytics