动态规划之最长上升子序列
2017-03-30 16:51
211 查看
问题描述:
对于给定的,如序列(1,7,3,5,9,4,8)有它的一些上升子序列,如(1,7)等,这些子序列中最长的长度是4,你的任务就是对于给定的序列,求出最长上升子序列的长度。
输入:
输入的第一行是序列的长度N(1<=N<=1000).第二行给出序列中的N个整数,这些整数的取值范围都在0到10000.
输出:
最长上升子序列的长度。
对于给定的,如序列(1,7,3,5,9,4,8)有它的一些上升子序列,如(1,7)等,这些子序列中最长的长度是4,你的任务就是对于给定的序列,求出最长上升子序列的长度。
输入:
输入的第一行是序列的长度N(1<=N<=1000).第二行给出序列中的N个整数,这些整数的取值范围都在0到10000.
输出:
最长上升子序列的长度。
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int MAXN=1010; int a[MAXN]; int maxLen[MAXN]; int main() { int N; cin >> N; for (int i = 1; i <= N; ++i) { cin >> a[i]; maxLen[i] = 1; } for (int i = 2; i <= N; ++i) { for (int j = 1; j < i; ++j) if (a[i] > a[j]) maxLen[i] = max(maxLen[i], maxLen[j] + 1); } cout << *max_element(maxLen + 1, maxLen + N + 1); return 0; }
相关文章推荐
- 动态规划——最长上升子序列
- 动态规划——最长公共上升子序列LCIS
- c++动态规划基础——最长上升子序列
- Problem B: 动态规划基础题目之最长上升子序列
- 动态规划―最长上升子序列
- 动态规划入门 COGS1398 最长上升子序列
- 动态规划-最长上升子序列
- 简单动态规划之最长上升子序列
- 070day(动态规划思路,例题(最长上升子序列)和流操纵算子)
- HDU 1257(贪心;动态规划(最长上升子序列))
- 动态规划-最长上升子序列(LIS)
- 蓝桥杯训练:动态规划——最长上升子序列
- 动态规划-最长上升子序列(LIS)
- 动态规划之最大公共序列+最长上升子序列
- 动态规划 最长上升子序列(LIS)
- 动态规划 最长公共子序列 最长上升子序列 最长上升公共子序列
- 动态规划之一最长上升子序列LIS
- 动态规划-最长上升子序列(LIS)
- 动态规划——E (LIS())最长上升子序列
- 动态规划:最长上升子序列