最长上升子序列

Time Limit: 3000MS Memory Limit: 65536KB

Problem Description

一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1<= i1 < i2 < ... < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8)。

你的任务,就是对于给定的序列,求出最长上升子序列的长度。

Input

输入的第一行是序列的长度N (1 <= N <= 1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。

Output

最长上升子序列的长度。

Example Input

7
1 7 3 5 9 4 8

Example Output

4

Hint

Author

Northeastern Europe 2002
做以前我们首先应该明白一些东西。
1、以某个数字为结尾的上升序列长度的最小值是1.(即只是包含它本身)
2、假设数组x的长度为N,我们只要求出从以x[0]为结尾的最长子序列长度到以x[n-1]为结尾的最长子序列的长度,就可以知道这个数字的最长子序列长度了。
#include<stdio.h>
#include<string.h>
int main()
{int m[1008], save[1008];int n;scanf("%d", &n);for (int i = 0; i < n; i++){scanf("%d", &save[i]);m[i] = 1;}for (int i = 1; i < n; i++){int max = 0;for (int c = 0; c < i; c++){if (save[i]>save[c] && m[c]>max)max = m[c];}m[i] = max + 1;}int max = 0;for (int i = 0; i < n;i++)if (m[i]>max)max = m[i];printf("%d\n", max);
}

sdut 1299 最长上升子序列相关推荐

  1. SDUT 2080 最长公共子序列问题

    动态规划. 注意输入数据中有空格. 代码如下: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> ...

  2. H - 憨憨的锤子(sdut 6.21重现赛)(最长上升子序列+思维)

    [问题] 贾队长交给锤子学弟一个艰巨的任务,就是去把集训队书架上的书整理好.书架上一共有n本书,编号为1~n,要求是把书按照编号的升序排好,锤子学弟不愧是学长们公认的憨憨,他每次只会拿出一本书,然后把 ...

  3. 最长公共子序列动态规划c语言,动态规划----最长公共子序列(C++实现)

    最长公共子序列 题目描述:给定两个字符串s1 s2 - sn和t1 t2 - tm .求出这两个字符串的最长公共子序列的长度.字符串s1 s2 - sn的子序列指可以表示为 - { i1 < i ...

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

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

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

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

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

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

  7. 【动态规划】最长公共子序列与最长公共子串

    1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...

  8. POJ 3080 多个串最长公共子序列

    求多个串最长公共子序列,字典序最小输出.枚举剪枝+kmp.比较简单,我用find直接查找16ms #include<iostream> #include<string> #in ...

  9. java实现最长连续子序列_最长公共子序列 ||

    问题:在 前一篇文章 最长公共子序列 | 的基础上要求将所有的最长公共子序列打印出来,因为最长公共子序列可能不只一种. 难点:输出一个最长公共子序列并不难,难点在于输出所有的最长公共子序列,我们需要在 ...

  10. 动态规划——最长上升子序列问题 两种角度及优化算法

    最长上升子序列 OpenJ_Bailian - 2757 一个数的序列 bi,当 b1 < b2 < ... < bS的时候,我们称这个序列是上升的.对于给定的一个序列( a1, a ...

最新文章

  1. 项目管理六大制约因素_知道了这7点,软件项目管理会变得更简单!
  2. 看看 Grunt 的源码(一):grunt-cli 源码解析
  3. linux synproxy 抵御 ddos攻击的原理和优化
  4. 2018年中国研究生数学建模竞赛C题 二等奖 赛题论文
  5. 系统 销售订单号_销售单,进货单自动计算,一键保存的进销存管理系统,十分好用...
  6. snmpset对象不可写_[Python]可变对象与多进程通信
  7. quick 中实现单例
  8. 实现瀑布流的核心代码
  9. XML文件的读取(XmlParserDemo)
  10. 想了解表格问答,我们先看看TA的前世
  11. 心理学上的被动_心理学教你认识孤僻、被动、社交恐惧症,它们都是内向惹的祸...
  12. Nginx+Tomcat+Session 高性能群集搭建
  13. @转载 ASP.NET跨页面传值技巧
  14. 微信小程序开发资源汇总
  15. CTF WEB WP杂谈
  16. word文档如何在方框内打钩
  17. 微信公众平台接口API
  18. 使用清华源镜像安装pytorch
  19. 骚操作!那些富有感情的影视台词截图都是哪来的?
  20. 气象台发布的拼图重投影示例

热门文章

  1. 4.3检测CSRF漏洞
  2. 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析
  3. 多变量微积分笔记5——梯度与方向导数
  4. html中滚动字幕是什么属性,html中Marquee属性详解(滚动显示文本/图片)
  5. golang 结构体数组的初始化赋值
  6. 图像的几何变换maketform imtransform imresize imcrop
  7. AE无法输出h.264 安装Quick time也不好使的办法 本人使用 AE CC2019
  8. python计算无穷级数求和常用公式_幂级数n=0到∞∑ x^n/的和函数怎么求 级数求和问题:求:∑1/...
  9. 计算机显示无法格式化,电脑提示windows无法完成格式化怎么办
  10. 如何将HTML与win10桌面壁纸,如何在Windows 10中将页面设置为桌面背景 | MOS86