ACM-动态规划
文章平均质量分 56
free-dancer
i am growing~!
展开
-
动态规划练习一 06:登山
描述五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?输入Line 1: N (2 L原创 2017-04-18 07:21:08 · 1615 阅读 · 0 评论 -
动态规划练习一 02:最大子矩阵
描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入输入是一个N * N的矩阵。输入的第一行给出N (0 2个整数,整原创 2017-04-15 12:29:03 · 403 阅读 · 0 评论 -
动态规划练习一 03:采药
描述辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果原创 2017-04-15 12:35:51 · 351 阅读 · 0 评论 -
动态规划练习一 05:吃糖果
描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也原创 2017-04-15 12:48:35 · 935 阅读 · 0 评论 -
动态规划练习一 13:最大上升子序列和
描述一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最大上升子序列和。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3)输入输入的第一行是序列的长度N (1 输出最大上升子序列和样例输入71 7 3 5 9 4 8样例输出18思路: 状态变量 b,原创 2017-04-15 12:55:47 · 301 阅读 · 0 评论 -
动态规划练习一 14:怪盗基德的滑翔翼
假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?原创 2017-04-15 13:02:24 · 907 阅读 · 0 评论 -
动态规划练习一 移动路线
描述×桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出原创 2017-04-18 07:25:53 · 1240 阅读 · 2 评论 -
动态规划练习一 最长上升子序列
描述一个数的序列bi,当b1 <b2 bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2, ..., aN),我们可以得到一些上升的子序列(ai1,ai2, ...,aiK),这里1 <=i1 i2 < ... <iK 你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入输入的第一行是序列的长度N (1 输出最长上升子序列的长度。样例输入原创 2017-04-15 12:20:15 · 573 阅读 · 0 评论 -
环形子数组的最大和
显然是求最大字段和的升级版啊!题意:就是给你些数,构成一个首位接应的环,然后求出最大子数组的和!给几个实例把:示例 1:输入:[1,-2,3,-2]输出:3解释:从子数组 [3] 得到最大和 3示例 2:输入:[5,-3,5]输出:10解释:从子数组 [5,5] 得到最大和 5 + 5 = 10示例 3:输入:[3,-1,2,-1]输出:4解释:从子数组 ...原创 2018-10-08 22:46:25 · 1111 阅读 · 0 评论