题目描述

一个数列ai如果满足条件a1 < a2 < ... < aN,那么它是一个有序的上升数列。我们取数列(a1a2, ..., aN)的任一子序列(ai1ai2, ..., aiK)使得1 <= i1 <i2 < ... < iK <= N。例如,数列(1, 7, 3, 5, 9, 4, 8)的有序上升子序列,像(1, 7), (3, 4, 8)和许多其他的子序列。在所有的子序列中,最长的上升子序列的长度是4,如(1, 3, 5, 8)。

现在你要写一个程序,从给出的数列中找到它的最长上升子序列。

输入

输入包含两行,第一行只有一个整数N(1 <= N <= 1000),表示数列的长度。

第二行有N个自然数ai,0 <= ai <= 10000,两个数之间用空格隔开。

输出

输出只有一行,包含一个整数,表示最长上升子序列的长度。

样例输入

7
1 7 3 5 9 4 8

样例输出

4

AC:

#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 1005;
int A[maxn], dp[maxn];
int n;int main()
{scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", &A[i]);}for(int i = 1; i <= n; i++){dp[i] = 1;for(int j = 1; j < i; j++){if(A[i] >= A[j] && dp[j] + 1 > dp[i] ){dp[i] = dp[j] + 1;}}}int ans = 0;for(int i = 1; i <= n; i++){ans = max(ans,dp[i]);}printf("%d\n", ans);return 0;
}

Codeup墓地-问题 A: 最长上升子序列相关推荐

  1. Codeup最长公共子序列(LCS):最长公共子序列

    问题 A: 最长公共子序列 时间限制: 1 Sec  内存限制: 32 MB 提交: 520  解决: 288 [提交][状态][讨论版][命题人:外部导入] 题目描述 给你一个序列X和另一个序列Z, ...

  2. codeup墓地目录(算法笔记习题刷题笔记)

    在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...

  3. 夕拾算法进阶篇:15)最长公共子序列(动态规划DP)

    题目描述 给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列. 例如:Z=<a,b,f,c>是序列X=<a,b,c ...

  4. codeup墓地目录

    代码内容为原创C++ 在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门 ...

  5. Codeup墓地-1129

    Codeup墓地-1129 src:http://codeup.cn/problem.php?id=1129 1129: 木棒 时间限制: 1 Sec 内存限制: 32 MB 题目描述 现有n根木棒, ...

  6. Codeup墓地-1133

    Codeup墓地-1133 src:http://codeup.cn/problem.php?id=1133 1133: 最大子阵和 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有一个包 ...

  7. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

  8. 最长连续子序列nlogn算法

    最长上升子序列(LIS)长度的O(nlogn)算法 标签: 算法search优化存储 2012-04-18 19:38 14031人阅读 评论(5) 收藏 举报  分类: 资料学习(15)  解题报告 ...

  9. leetcode-300 最长上升子序列

    题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度 ...

最新文章

  1. leetcode算法题--构建乘积数组
  2. 汤加近海处电缆或已断裂 修复需两周以上!淡水成最紧俏资源!
  3. ups计算软件_ups不间断电源系统分类及作用
  4. 京东金融回应“白条漏洞”:在2017年已修复
  5. Linux NGINX 主备,使用keepalived实现主备(以nginx为例)
  6. 「S-A-L-T-A」项目失败总结!
  7. context:annotation-config、context:component-scan
  8. 【深入理解JVM】:Java对象的创建、内存布局、访问定位
  9. 第五章 MNIST数字识别问题(二)
  10. Mac如何为应用单独设置语言?
  11. Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案...
  12. 集成学习——机器学习(周志华)
  13. 奥维互动地图自定义地图
  14. CentOS 8 修改DNS地址
  15. 数据可视化 d3操作汇总(一):d3以及直方图绘制简介
  16. FAT32学习笔记(五)——fat相关工具
  17. 在eclipse上配置tomcat,安装eclipse的JST Server Adapters Extensions时报错 Anerroroccurredwhilecollectingitems...
  18. Tarena - 分组查询
  19. 【bzoj2844】albus就是要第一个出场 高斯消元
  20. 数字逻辑实验——138译码器

热门文章

  1. 手把手教你玩转SOCKET模型:完成例程(Completion Routine)篇
  2. 高级数据结构与算法 | 跳跃表(Skip List)
  3. RabbitMQ之监控(2)
  4. 为什么你不应该接受有 race 的代码
  5. STL中算法锦集(三)
  6. Python中的进程间通信
  7. 腾讯----贪吃的小Q
  8. WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the Week...
  9. 万物皆可“小程序”——迟到的iOS 14之猜想
  10. ffmpeg 源码学习