ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【移动类DP】【强烈推荐】数字三角形系列

2019-05-30 09:48:41  阅读:352  来源: 互联网

标签:数字 行是 Sample Input Output 强烈推荐 三角形 DP


说在前面

虽然我也不知道为什么会有这个系列,但是这个系列真心不错,值得练练

建议食用使用方法:先自行刷题,再OJ上提交,实在不行看题解

ps:入门OJ部分题目需注册后才能显示。实在不行就用这里的题干做,再用题解里的标程和自己的一起跑一跑

T1:题目链接

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.
给出一个数字三角形,你从[1,1]开始出发,走到最后一行。每次站在一个点上时,可以向下走,或者向右下走。
将经过的数字加起来,希望其和最大。

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

T1题解链接

T2:题目链接

Description

一个数字三角宝塔。
设数字三角形中的数字为绝对值不超过1000的整数。
现规定从最顶层走到最底层,每一步可沿向下或右斜线向下走。
求解从最顶层走到最底层的一条路径,使得沿着该路径所经过的数字的总和的绝对值最大,输出最大值

Input

输入数据的第1 行是数字三角形的行数n,1<=n<=1000。
接下来n行是数字三角形各行中的数字。所有数字都小于1000。

Output

程序运行结束时,将计算出的最大值输出。

Sample Input

4
1
3 2
4 10 1
4 3 2 20 

Sample Output

24

T2题解链接

T3:题目链接

Description

一个数字三角宝塔。
设数字三角形中的数字为绝对值不超过1000的整数。
小K从最顶层走到最底层,每一步可沿向下或右斜线向下走。
每走过一个节点他会把这个节点的数字加在自己计数器中。
另外他有一次机会,将他的计数器的数清零,他可以在任意时刻使用这次机会。
现在小K想知道他到达底层后,计数器中可能的最大的值.

Input

输入数据的第1 行是数字三角形的行数n,1<=n<=1000。
接下来n行是数字三角形各行中的数字。所有数字都小于1000。

Output

程序运行结束时,将计算出的最大值输出。

Sample Input

4
1
3 2
4 10 1
4 3 2 20 

Sample Output

24

T3题解链接

T4:题目链接

Description

一个数字三角宝塔。
设数字三角形中的数字为绝对值不超过1000的整数。
小K从最顶层走到最底层,每一步可沿左斜线向下或右斜线向下走。
每走过一个节点他会把这个节点的数字加在自己计数器中。
另外他有一次机会,将当前位置上的数字清零,他可以在任意时刻使用这次机会。
现在小K想知道他到达底层后,计数器中可能的最大的值.

Input

输入数据的第1 行是数字三角形的行数n,1<=n<=1000。
接下来n行是数字三角形各行中的数字。所有数字都小于1000。

Output

程序运行结束时,将计算出的最大值输出。

Sample Input

5
-1
-8 -7
3 3 -2
-3 -2 -5 -4
7 -3 -9 -10 -3

Sample Output

6

T4题解链接

T5:题目链接

Description

一个数字三角宝塔。
设数字三角形中的数字为绝对值不超过1000的整数。
小K从最顶层走到最底层,每一步可向下或右斜线向下走。
每走过一个节点他会把这个节点的数字加在自己计数器中。
另外他最多只能向下走k次。
现在小K想知道他到达底层后,计数器中可能的最大的值。

Input

输入数据的第1行是数字三角形的行数n和能够沿左斜线向下走的次数k,1<=n<=1000,0<=k<=100。
接下来n行是数字三角形各行中的数字。所有数字都小于1000。

Output

如题

Sample Input

4 2
1
3 2
40 10 1
100 3 2 20

Sample Output

47

T5题解链接

T6:题目链接

Description

一个数字三角宝塔。
设数字三角形中的数字为绝对值不超过1000的整数。
小K从最顶层走到最底层,每一步可向下或右斜线向下走。
每走过一个节点他会把这个节点的数字加在自己计数器中。
另外他最多只能沿向下走k次。
现在小K想知道他到达底层后,计数器中可能的最大的值。

Input

输入数据的第1行是数字三角形的行数n和能够沿左斜线向下走的次数k,1<=n<=1000,0<=k<=1000。
接下来n行是数字三角形各行中的数字。所有数字都小于1000。

Output

如题

Sample Input

4 2
1
3 2
40 10 1
100 3 2 20

Sample Output

47

这道题是T5的数据加强版,k的范围变成(0 <= k <= 1000)。T5题解中第二种方法足够做这道题了

标签:数字,行是,Sample,Input,Output,强烈推荐,三角形,DP
来源: https://blog.csdn.net/qq_43398760/article/details/90677925

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有