poj 2533 Longest Ordered Subsequence (最长上升子序列)
来源:互联网 发布:win10网络授权 编辑:程序博客网 时间:2024/06/05 09:21
http://poj.org/problem?id=2533
Longest Ordered Subsequence
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.
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
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <cstdlib>#include <limits>#include <queue>#include <stack>#include <vector>#include <map>using namespace std;#define N 2400#define INF 0x3f3f3f3f#define PI acos (-1.0)#define EPS 1e-8#define met(a, b) memset (a, b, sizeof (a))typedef long long LL;int dp[N];int main (){ int n, a[N]; while (~scanf ("%d", &n)) { for (int i=0; i<n; i++) scanf ("%d", &a[i]); int maxn = -INF; for (int i=0; i<n; i++) { dp[i] = 1; for (int j=i-1; j>=0; j--) if (a[j] < a[i]) dp[i] = max (dp[i], dp[j]+1); maxn = max (maxn, dp[i]); } printf ("%d\n", maxn); } return 0;}
1 0
- poj-2533-Longest Ordered Subsequence-最长上升子序列
- poj 2533 Longest Ordered Subsequence(LIS(最长上升子序列))
- POJ 2533 Longest Ordered Subsequence 最长上升子序列
- poj 2533 Longest Ordered Subsequence(最长上升子序列)
- poj 2533 Longest Ordered Subsequence(最长上升子序列)
- Longest Ordered Subsequence - POJ 2533 最长上升子序列
- poj 2533 Longest Ordered Subsequence(最长上升子序列)
- POJ 2533 Longest Ordered Subsequence(LIS:最长上升子序列)
- POJ 2533-Longest Ordered Subsequence(dp_最长上升子序列)
- POJ 2533 Longest Ordered Subsequence(最长上升子序列)
- poj-2533 Longest Ordered Subsequence 【最长上升子序列】
- POJ - 2533 Longest Ordered Subsequence(最长上升子序列)
- poj 2533 Longest Ordered Subsequence (最长上升子序列)
- POJ 2533 Longest Ordered Subsequence(最长上升子序列)
- 【Poj 2533】 Longest Ordered Subsequence 最长上升子序列
- POJ 2533Longest Ordered Subsequence(最长上升子序列)
- Longest Ordered Subsequence 最长上升子序列
- Longest Ordered Subsequence (最长上升子序列)
- 安卓 线程 和 线程池
- LeetCode -- Length of last word
- Linux-grep学习笔记
- LeetCode -- Majority Element II
- uva 1599
- poj 2533 Longest Ordered Subsequence (最长上升子序列)
- LeetCode -- Nim Game
- Show Line Numbers显示行号问题
- 超实用的JavaScript代码段 Item4 --发送短信验证码
- 阅读开源项目源代码的方法
- 小米开源便签Notes-源码研究(0)-整体功能介绍(图文并茂)
- java 的 Thread_wait、notify、notifyAll的使用方法
- 私家菜谱version1.0即将发布,暂时只提供【iOS】
- C语言时间函数