poj2533-Longest Ordered Subsequence(最长上升子序列)
2017-04-11 19:39
411 查看
#include <iostream> #include <cstring> #include <algorithm> using namespace std; struct poj2533 { /*[问题描述]:求最长上升子序列的长度*/ /*[解题思路]:f[i]表示以i结尾的最长上升子序列的长度,则f[i]=max{f[j]|v[j]<v[i],j<i}+1*/ int n; int v[1005]; int f[1005]; void work() { while (cin >> n) { for (int i = 1; i <= n; i++) cin >> v[i]; f[0] = 0; for (int i = 1; i <= n; i++) { f[i] = 1; for (int j = i - 1; j >= 1; j--) if (v[j] < v[i]) f[i] = max(f[i], f[j] + 1); } int ans = 0; for (int i = 1; i <= n; i++) ans = max(ans, f[i]); cout << ans << endl; } } }; int main() { poj2533 solution; solution.work(); return 0; }
相关文章推荐
- Longest Increasing Subsequence[LIS 最长上升子序列问题] (Longest Ordered Subsequence) POJ - 2533 队列优化
- POJ - 2533 Longest Ordered Subsequence(最长上升子序列)
- poj2533--Longest Ordered Subsequence(dp:最长上升子序列)
- 【POJ 2533】Longest Ordered Subsequence(最长上升子序列LIS)
- POJ 2533 Longest Ordered Subsequence(最长上升子序列O(n*n)解法)
- POJ 2533 Longest Ordered Subsequence(DP最长上升子序列O(n^2)&&O(nlogn))
- poj 2533 Longest Ordered Subsequence (DP:最长上升子序列)
- poj-2533-Longest Ordered Subsequence-最长上升子序列
- POJ 2533 Longest Ordered Subsequence(最长上升子序列模版)
- POJ 2533 Longest Ordered Subsequence 最长上升子序列
- POJ2533 Longest Ordered Subsequence (最长上升子序列)
- Longest Ordered Subsequence - POJ 2533 最长上升子序列
- Longest Ordered Subsequence POJ - 2533 (最长上升子序列)
- POJ 2533 Longest Ordered Subsequence(LIS:最长上升子序列)
- poj 2533 Longest Ordered Subsequence (最长上升子序列)
- 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(最长上升子序列)