本文主要是介绍POJ 2533 Longest Ordered Subsequence(最长非递减子序列,LIS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 50206 | Accepted: 22293 |
Description
Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.
Input
Output
Sample Input
7 1 7 3 5 9 4 8
Sample Output
4
Source
题意:
给定的 n 个数,求出从左往右非递减的子序列的最大值
思路:
模板题,就过来水水题的!
AC CODE:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
const int MM = 200100+4;
using namespace std;int h[MM], d[MM], Ans[MM];int main()
{int n;cin >> n;for(int i = 1; i <= n; i++) cin >> h[i];int ans = 0, vv = 0;for(int i = 1; i <= n; i++){d[i] = 1;for(int j = 1; j <= i-1; j++){if(h[j] < h[i] && d[i] < d[j]+1){d[i] = d[j] + 1;}}if(d[i] > ans) ans = d[i];}printf("%d\n", ans);return 0;
}
这篇关于POJ 2533 Longest Ordered Subsequence(最长非递减子序列,LIS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!