dp
TimEckel
救赎之道,就在其中
展开
-
13:最大上升子序列和
总时间限制: 1000ms 内存限制: 65536kB 描述 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …,aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,原创 2017-04-17 16:34:08 · 253 阅读 · 0 评论 -
01:最长上升子序列
总时间限制: 2000ms 内存限制: 65536kB 描述 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列原创 2017-04-16 22:22:58 · 224 阅读 · 0 评论 -
02:最大子矩阵
总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2的最大子矩阵是9 2 -4 1 -1 8这个子矩阵的大小是15。 输入 输入是一个N * N的矩阵。输入的第一原创 2017-04-16 22:54:53 · 247 阅读 · 0 评论 -
03:采药
总时间限制: 1000ms 内存限制: 65536kB 描述 辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪原创 2017-04-16 23:12:18 · 281 阅读 · 0 评论 -
04:公共子序列
总时间限制: 1000ms 内存限制: 65536kB 描述 我们称序列Z = < z1, z2, …, zk >是序列X = < x1, x2, …, xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, …, ik >,使得对j = 1, 2, … ,k, 有xij = zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现原创 2017-04-16 23:26:40 · 354 阅读 · 0 评论 -
05:吃糖果
总时间限制: 1000ms 内存限制: 65536kB 描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,原创 2017-04-16 23:27:55 · 277 阅读 · 0 评论 -
06:登山
总时间限制: 5000ms 内存限制: 131072kB 描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏原创 2017-04-17 16:06:49 · 270 阅读 · 0 评论 -
09:移动路线
总时间限制: 1000ms 内存限制: 65536kB 描述 ×桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。 小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从 左下角的方格中移动到右上角的原创 2017-04-17 16:19:23 · 316 阅读 · 0 评论 -
10:数字组合
总时间限制: 1000ms 内存限制: 65536kB 描述 有n个正整数,找出其中和为t(t也是正整数)的可能的组合方式。如: n=5,5个数分别为1,2,3,4,5,t=5; 那么可能的组合有5=1+4和5=2+3和5=5三种组合方式。 输入 输入的第一行是两个正整数n和t,用空格隔开,其中1<=n<=20,表示正整数的个数,t为要求的和(1<=t<=1000) 接下来的一行是n个原创 2017-04-17 16:29:33 · 442 阅读 · 0 评论 -
29:合唱队形
总时间限制: 1000ms 内存限制: 65536kB 描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i原创 2017-04-17 18:57:53 · 422 阅读 · 0 评论 -
28:Maximum sum
总时间限制: 1000ms 内存限制: 65536kB 描述 Given a set of n integers: A={a1, a2,…, an}, we define a function d(A) as below: t1 t2 d(A) = max{ ∑ai + ∑aj | 1 <= s1 <= t1 < s2 <原创 2017-04-17 18:55:20 · 213 阅读 · 0 评论 -
16:踩方格
总时间限制: 1000ms 内存限制: 65536kB 描述 有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设: a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上; b. 走过的格子立即塌陷无法再走第二次; c. 只能向北、东、西三个方向走; 请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入原创 2017-04-17 16:46:01 · 450 阅读 · 0 评论 -
18:买书
总时间限制: 1000ms 内存限制: 65536kB 描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)输入 一个整数 n,代表总共钱数。(0 <= n <= 1000) 输出 一个整数,代表选择方案种数 样例输入 样例输入1: 20样例输入2: 15样例输入3: 0 样例输出 样例输出1: 2样例原创 2017-04-17 16:51:20 · 289 阅读 · 0 评论 -
19:最低通行费
总时间限制: 1000ms 内存限制: 65536kB 描述 一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(原创 2017-04-17 16:57:19 · 459 阅读 · 0 评论 -
14:怪盗基德的滑翔翼
总时间限制: 1000ms 内存限制: 65536kB 描述 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。 有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的原创 2017-04-17 16:42:04 · 713 阅读 · 0 评论 -
21:三角形最佳路径问题
总时间限制: 1000ms 内存限制: 65536kB 描述 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边原创 2017-04-17 18:10:10 · 497 阅读 · 0 评论 -
23:大盗阿福
总时间限制: 1000ms 内存限制: 65536kB 描述 阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少原创 2017-04-17 18:20:06 · 430 阅读 · 0 评论 -
24:鸣人的影分身
总时间限制: 1000ms 内存限制: 65536kB 描述 在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为M,他影原创 2017-04-17 18:31:06 · 414 阅读 · 0 评论 -
26:滑雪
总时间限制: 1000ms 内存限制: 65536kB 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15原创 2017-04-17 18:53:45 · 251 阅读 · 0 评论 -
dp总结
这一周主要练习dp,而我这两周的任务主要就是dp,首先最长上升子序列是一个很重要的例题,后面的很多题目中,都用到转化为最长上升子序列。还有就是背包的几种套路,要理解清楚。老师说dp没太有套路,感觉它是没有套路的套路,需要注意的细节很多,好几个题边界没处理好,错了好几遍。因为做的题目少,发现主要题目类型有类似矩阵求路径的,背包求方案数或最大价值的,运用最长上升子序列变形求答案的。矩阵用INF做下边界,原创 2017-04-18 19:22:14 · 298 阅读 · 0 评论