Longest Ordered Subsequence
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 21942 Accepted: 9441
Description
A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1
Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.
Input
The first line of input file contains the length of sequence N. The second line contains the elements of sequence - N integers in the range from 0 to 10000 each, separated by spaces. 1 <= N <= 1000
Output
Output file must contain a single integer - the length of the longest ordered subsequence of the given sequence.
Sample Input
7
1 7 3 5 9 4 8
Sample Output
4
Source
POJ2533
思路:
这道题用穷举暴力破解的话是很不明智的,因为当n增加时,运算量将是几何倍数增长。动态规划的三要素是阶段、状态、决策,我们以此来进行分析(按照我当前刚学动态规划的理解):
我们按照数字的编号划分阶段,那么以某个数字为结尾的最长子序列长度就是该阶段的状态,最优状态则是之前的最大子序列长度中的最大值,决策便是以当前数字为结尾的最长子序列长度 = 最优状态 + 1,我们用状态转移方程来表示:
a[n] = max({a[i] | 0 < i < n}) + 1
可得代码如下:
唔,一次性AC 。
本题的引申——[ACM_ZOJ_1733]Longest
Common Subsequence(最长公共子序列)
后记:问了老师,原来这种做法还不算是动态规划,只是具备了动态规划的思想。
老师的说法:
比较普遍的一个例子,
动态规划可以看成一个二维数据,
每个a[i][j] 由 a[i-1][*] 的取值来决定,
一层一层的往上计算,每i层每一个元素近且只由第i-1层的元素计算而得。
原文地址(本人博客):http://lanfei.sinaapp.com/2012/04/464.html
欢迎访问交流。
分享到:
相关推荐
poj两道题的c++实现。已经测试过可以通过oj
北大ACM在线评测系统POJ的题目非常之多,如果只盲目做题,恐难以各种类型题目考虑周全。此列表把各种题型做分类,按照此表可做针对性练习。献给所有愿意ACM刚入门的童鞋。。
北大ACM在线评测系统POJ的题目解题报告。涵盖各种类型的acm题目。值得参考借鉴。打包下载。
Pku acm 第2533题 Longest Ordered Subsequence 代码,有详细的注释,动态规划
ACM_算法模板集史上最完整收藏版223页全免费版.pd
ACM PKU_poj 1197 仓库问题源代码,愿与大家共享。若谁更好的代码,多谢提供。
在进行ACM编程训练时做字符串专题的一些题目(POJ1782,POJ1790,POJ1951,POJ2003,POJ2121)
杭电hdu acm资料所用杭电的acm题
POJ上面题目的解题报告。涵盖挺多的。可作参考。代码都正确。ACM新手入门必下~~ 加油...
noi试题和解析,对于参加acm非常有帮助
浙江大学ACM题解JU_ACM_All_Anwer,里面一本非常好的chm电子书,浙大的所有ACM题及题解都在了,对学习ACM的朋友非常的好~还等什么呢?
ACM__ICPC__重要补充知识.doc
Pascal acm_timus_ural_1148.pas
Pascal acm_timus_ural_1099.pas
ACM_基础篇
ACM,竞赛题目,我已经在上面测试过了,可以用,题目是ARGUS,希望大家可以喜欢,花了长时间才弄好的
ACM的重要PPT资料,对初学者非常有益处
ACM_竞赛试题,对于那些参加各种比赛,特别是ACM大赛的人会有很大帮助
杭电 hdu acm 第1084题的解法,ac过了,是一位学长教我的.内有一些中文说明.
一些关于ACM算法的资料,包括5种算法的详细讲解和ACM题型分类以及一些基础题目