博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-2533 Longest Ordered Subsequence ( DP )
阅读量:5236 次
发布时间:2019-06-14

本文共 1879 字,大约阅读时间需要 6 分钟。

题目链接:

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 <=
i1 <
i2 < ... <
iK <=
N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8).
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

71 7 3 5 9 4 8

Sample Output

4 基础DP 找最长升串,水过
1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 7 int num[1005]; 8 class node{ 9 public:10 int now, sum;11 }dp[1005];12 13 int main(){14 ios::sync_with_stdio( false );15 16 int n;17 while( cin >> n ){18 for( int i = 0; i < n; i++ )19 cin >> num[i];20 memset( dp, 0, sizeof( dp ) );21 22 for( int i = 0; i < n; i++ ){23 for( int j = 0; j <= i; j++ ){24 if( num[i] > dp[j].now && dp[i + 1].sum < dp[j].sum ){25 dp[i + 1].sum = dp[j].sum;26 }27 }28 dp[i + 1].sum++;29 dp[i + 1].now = num[i];30 }31 32 int ans = 0;33 for( int i = 1; i <= n; i++ )34 ans = max( ans, dp[i].sum );35 36 cout << ans << endl;37 }38 39 return 0;40 }

 

转载于:https://www.cnblogs.com/hollowstory/p/5447881.html

你可能感兴趣的文章
C++按格式接收输入字符(京东,滴滴,360笔试必用)
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
Java IO流学习总结
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
递归函数,二分运算,正则表达式
查看>>
Flutter之内置动画(转)
查看>>
MySql优化相关概念的理解笔记
查看>>
数据库解决方案
查看>>
DataContract和DataMember的作用
查看>>
js如何获取response header信息
查看>>
python_文件的打开和关闭
查看>>
ADO.NET介绍
查看>>
iOS: 数据持久化方案
查看>>
【C#】【Thread】Monitor和Lock
查看>>
UVALive - 3635 - Pie(二分)
查看>>
集合类List,set,Map 的遍历方法,用法和区别
查看>>