随笔分类 -  动态规划

.2757 百练 最长上升子序列
摘要:描述一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1 <= i1 < i2 < ... < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入输入的第一行是序列的长度N 阅读全文
posted @ 2011-07-29 10:40 Raffaello 阅读(278) 评论(0) 推荐(0)
百练 2760 数字三角形
摘要:时间限制: 1000ms 内存限制: 65536kB描述73 88 1 02 7 4 44 5 2 6 5(图1)图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和你的任务就是找到最大的和。注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的那个数或者右边的那个数。输入输入的是一行是一个整数N (1 < N <= 100),给出三角形的行数。下面的N行给出数字三角形。数字三角形上的数的范围都在0和100之间。输出输出最大的和。样例输入57 3 8 8 1 0 2 7 4 4 4 5 2 6 5样例输出30#in 阅读全文
posted @ 2011-07-29 10:39 Raffaello 阅读(190) 评论(0) 推荐(0)