最长上升子序列

Time Limit: 3000 ms Memory Limit: 65536 KiB

Submit Statistic

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

最长上升子序列的长度。

Sample Input

7
1 7 3 5 9 4 8

Sample Output

4

Hint
最长上升子序列:想要弄到1—n最长的,那就弄到1----n-1最长的,以此类推,弄到1—2最长的;
正着来说就是求1—2最长的,,求1—3最长的,求1—4最长的,求1----n-1最长的,求1—n最长的;

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{
int i,j,n;
scanf("%d",&n);
int a[1010],b[1010]= {0}; //a数组记录序列,b数组记录长度
for(i=1; i<=n; i++)
scanf("%d",&a[i]);
b[1]=1;
for(i=2; i<=n; i++)
{
int m=0; //用来辅助选每一个b[i]最长的
for(j=1; j<i; j++)
{
if(a[i]>a[j]&&m<b[j]) //每一个a[i]最长的
{
m=b[j]; //选一个到a[i]最长的序列
}
}
b[j]=m+1; //再加上本身,因为a[i]比a[j]都大
}
int max=0;
for(i=1; i<=n; i++)
if(max<b[i])max=b[i];
printf("%d\n",max);
return 0;
}

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. 简单定制自己的Centos系统(第三版)
  2. mysql definer_mysql常见问题之视图权限控制--安全性为DEFINER
  3. [css] 用CSS画出一个任意角度的扇形,可以写多种实现的方法
  4. layui左侧三级菜单2.0
  5. 大数据技术周报第 002 期
  6. 计算机视觉CV中RANSAC算法的学习笔记~
  7. java replace 双引号到单引号
  8. MySQL · 性能优化 · SQL错误用法详解
  9. BZOJ 2145 悄悄话
  10. HCIE-RS实验LAB1配置思路
  11. latex各类符号(红心、方块、五角星等)集合
  12. 单龙芯3A3000-7A1000PMON研究学习-(30)撸起袖子干-再来一杯代码11-内存初始化3-mc_init
  13. WP-2021绿盟杯-藏宝图
  14. bean named 'transactionManager' available: No matching PlatformTransactionManager bean found for qua
  15. div怎么在css中设置字体大小,根据div大小调整字体大小
  16. 叮叮 算法数据结构(一)
  17. 2023银行校园招聘简历自我评价高分写法模板
  18. 基于 Web SDK 实现视频通话场景 | 声网 SDK 教程
  19. Excel破解宏密码
  20. 在blast中E值(E value)是什么?

热门文章

  1. 描写火车站场景_描写火车站人多的场景_描写火车站人多的作文
  2. java爬虫爬取京东_java爬虫练习|爬取京东上的手机商品数据
  3. 18-移动端等比例缩放rem
  4. LM317稳压电源设计
  5. Python之---【pandas】pd.concat(df)、df.append(df)
  6. 关于一级域名和二级域名跨域的解决方案
  7. 完全背包告诉你 2020 代表什么
  8. php 集成 spss,spss怎么录入数据
  9. matlab中imcrop函数的具体使用
  10. 亲测免费下载知网论文方法