求数组中最长递增子序列—动态规划入门(编程之美)
2013-03-18 20:04
253 查看
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxm = 10000; int a[maxm]; int value[maxm]; //记录当前最优解 int n; //时间复杂度O(n*n) int work(){ for(int i = 1; i <= n; i++) { value[i] = 1; for(int j = 1; j <= i; j++) { if(a[i] > a[j] && value[j] + 1 > value[i]) { value[i] = value[j] + 1; } } } int maxn = 1; for(int i = 1; i <= n; i++) { if(maxn < value[i]) { maxn = value[i]; } } return maxn; } int main() { scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); } int res = work(); cout << res << endl; return 0; } //参考编程之美P195
相关文章推荐
- 编程之美_012求数组中最长递增子序列
- 编程之美2.16——求数组中最长递增子序列
- 求数组中最长递增子序列 动态规划
- 编程之美2.16 求数组中最长递增子序列
- 编程之美2.16求数组中最长递增子序列
- 编程之美2.16 求数组中最长递增子序列
- 求数组中最长递增子序列(编程之美2.16)
- 《编程之美》读书笔记17: 2.16 求数组中最长递增子序列
- 编程之美2.16求数组中最长递增子序列Java版
- 《编程之美》读书笔记17: 2.16 求数组中最长递增子序列
- 最长递增子序列的求解(O(n*n),O(nlogn))——动态规划
- 求数组中最长递增子序列
- 程序员面试100题之十二:求数组中最长递增子序列
- [置顶] 【动态规划】最长递增子序列
- 【动态规划】拦截导弹_dilworth定理_最长递增子序列
- 每日一题(79) - 求数组中最长递增子序列
- 求数组中最长递增子序列
- 编程之美---求数组中最长递增子序列
- 求数组中最长递增子序列
- 动态规划——数组中最长递减子序列