动态规划:最长上升子序列
2018-03-07 19:30
281 查看
输入n个数,求出这个序列中最长的上升子序列的长度。
如:4 2 3 1 5;(2 3 5是最长上升子序列,长度为3)
如:4 2 3 1 5;(2 3 5是最长上升子序列,长度为3)
#include <iostream> #include <algorithm> using namespace std; int n; const int maxn = 1000 + 20; int a[maxn]; int dp[maxn]; /* 5 4 2 3 1 5 */ void solve() { int res = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { dp[i] = 1; for (int j = 0; j < i; j++) { if (a[j] < a[i]) { dp[i] = max(dp[i], dp[j] + 1); } } res = max(res, dp[i]); } printf("%d\n", res); } int main() { solve(); return 0; }
相关文章推荐
- 动态规划-最长上升子序列(LIS)
- 动态规划_最长上升子序列LIS
- 动态规划练习--01(最长上升子序列)
- c++动态规划基础——最长上升子序列
- 动态规划-最长上升子序列(LIS)
- 动态规划入门 COGS1398 最长上升子序列
- 动态规划-最长上升子序列(LIS)
- 070day(动态规划思路,例题(最长上升子序列)和流操纵算子)
- 动态规划之编号动态规划:hdu 1025(dp+二分 求最长上升子序列)
- 动态规划:最长上升子序列
- 动态规划4_最长上升子序列
- 动态规划:最长上升子序列
- 动态规划-最长上升子序列(LIS)
- J - FatMouse's Speed HDU 1160 (动态规划,最长上升子序列+路径输出)
- 动态规划之最大公共序列+最长上升子序列
- 动态规划 最长公共子序列 最长上升子序列 最长上升公共子序列
- 初识动态规划-最长不上升子序列
- 动态规划 01 (最长上升子序列)
- 动态规划(最长上升子序列)
- 动态规划----求最长上升子序列