最长上升子序列
来源:互联网 发布:九宫格拍照软件 编辑:程序博客网 时间:2024/05/16 17:47
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.
输入格式
There are several test cases. Every test case includes two lines.
The first line 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
When N is 0, it indicates test to end.
输出格式
Output must contain a single integer for every test case
---- the length of the longest ordered subsequence
of the given sequence.
输入样例
7
1 7 3 5 9 4 8
6
1 8 3 6 5 9
5
1 2 3 4 5
0
输出样例
4
4
5
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#include <cstdio>#include <cmath>using namespace std;int max_one(int *ary, int n){ int max = -1; for(int i = 0; i < n; i++) { if(ary[i] > max) { max = ary[i]; } } return max;}int main(){ int n; int *a; int *f; scanf("%d", &n); while(n != 0) { a = new int[n]; f = new int[n]; for(int i = 0; i < n; i++) { scanf("%d", &a[i]); } f[0] = 1; for(int i = 1; i < n; i++) { f[i] = 1; for(int j = 0; j < i; j++) { if(a[i] > a[j]) { f[i] = (f[j] + 1 > f[i])? f[j] + 1: f[i]; } } } printf("%d\n", max_one(f, n)); scanf("%d", &n); } return 0;}
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- Eclipse v7包导入错误
- 第四届蓝桥杯 软件类省赛真题 第三题:马虎的算式
- Unty和OpenGL ES坐标系朝向
- scala符号
- 结合实际使用场景, 谈谈并发场景,或常用框架中间件的深度了解
- 最长上升子序列
- [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工具
- Android-程序(***)无响应,要将它关闭吗
- iOS9中实现微信分享到好友、朋友圈
- C++ 类中特殊成员变量(常量、静态、引用)的初始化方法
- 博客搬家
- JavaScript知识归纳(3)
- Android——详解Kotlin
- 36.NSBundle详解及infoDictionary包内容