时间限制: 1 s
 空间限制: 256000 KB
 题目等级 : 黄金 Gold

题解

题目描述 Description

给一个数组a1, a2 ... an,找到最长的上升降子序列ab1<ab2< .. <abk,其中b1<b2<..bk。

输出长度即可。

输入描述 Input Description

第一行,一个整数N。

第二行 ,N个整数(N < = 5000)

输出描述 Output Description

输出K的极大值,即最长不下降子序列的长度

样例输入 Sample Input

5

9 3 6 2 7

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

【样例解释】

最长不下降子序列为3,6,7

分类标签 Tags 点此展开

动态规划 序列型DP 最长上升序列
代码:
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
int n,a[5001],f[5001],ans;
int max(int a,int b)
{if(a>=b) return a;else return b;
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]),f[i]=1;;    for(int i=2;i<=n;i++)for(int j=1;j<i;j++)//循环找他前面比他小的数if(a[j]<a[i])f[i]=max(f[j]+1,f[i]);for(int i=1;i<=n;i++){ans=max(f[i],ans);//printf("%d\n",f[i]);
     }printf("%d",ans);return 0;
}

思路:

求最长上升子序列,这是要求以当前为始端的构成的上升子序列的长度;

最后for循环一遍,把这所有的上升子序列中最长的输出!

转载于:https://www.cnblogs.com/z360/p/6751563.html

codevs——1576 最长严格上升子序列(序列DP)相关推荐

  1. CodeVS 1576 最长严格上升子序列 (DP)

    题目大意: http://codevs.cn/problem/1576/ 代码: #include <iostream>using namespace std;int arr[5100] ...

  2. codevs 1576 最长严格上升子序列

    题目链接:http://codevs.cn/problem/1576/ 题目描述 Description 给一个数组a1, a2 ... an,找到最长的上升降子序列ab1<ab2< .. ...

  3. codevs 2185 最长公共上升子序列--nm的一维求法

    2185 最长公共上升子序列  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond 题目描述 Description 熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目 ...

  4. 最长非降子序列(动态规划dp dynamic programming)

    首先要理解一下什么叫做非降子序列 非降子序列,简单来说就是指给出一个数字序列,在不改变整体顺序的情况下摘出几个来组成一个子序列,这个序列满足从小到大的排序顺序. 所以,最长非降子序列,不难理解就是从这 ...

  5. pta最长连续递增子序列C语言,pta 习题集 5-5 最长连续递增子序列 (dp)

    给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列.例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8). 输入格式: 输入第1行给出正整数n ...

  6. 字符串ababaaab的nextval数组值序列为_子序列解题模板:最长回文子序列

    预计阅读时间:6 分钟 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解相关的算法 ...

  7. java最长回文子序列_算法--字符串:最长回文子序列

    转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解 ...

  8. 每天一道LeetCode-----计算两个序列最长的公共子序列长度

    原题链接Maximum Length of Repeated Subarray 计算两个序列最长的相同子序列的长度 简单暴力的方法是对A中每个元素遍历一遍序列B,找到相同的位置后计算从这个位置开始有多 ...

  9. 动态规划求一个序列的最长回文子序列(Longest Palindromic Substring )

    1.问题描述 给定一个字符串(序列),求该序列的最长的回文子序列. 2.分析 需要理解的几个概念: ---回文 ---子序列 ---子串 http://www.cnblogs.com/LCCRNblo ...

最新文章

  1. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
  2. filter java 是单例的吗_JAVA 设计模式之 单例模式详解
  3. linux把目录下的文件设置属性为rx,LINUX的文件属性与目录配置
  4. mysql无法存储文字_mysql存储不了中文字符串怎么办
  5. Java的面试汇总,有这些还担心不通过?
  6. CSS 显示风格 appearance属性
  7. 从文件夹里面多个文件里面查找指定内容
  8. 口罩热销卖断货,有的商家却坐地涨价,中国青年报:电商不该借机发疫情财...
  9. 计算机怎么剪切音乐然后合在一起,电脑怎么剪辑合并音乐
  10. mysql2000下载_sql2000企业版下载-my sql 2000企业版官方版 - 极光下载站
  11. 关于c# naudio的几个注意事项
  12. Cocoa与Cocoa Touch区别
  13. 自动回复串口工具AutoRespondComTool
  14. 手机管理应用研究【5】——应用杂篇
  15. 东芝推出具备限流器检测功能的有刷直流电机驱动器IC
  16. 微软账号登陆不上_微软抛弃“亲生儿子”,IE浏览器被限制,强制你更换Edge
  17. mmorpg游戏设计之2D游戏地图的九宫格子
  18. 网站访问速度慢的排查方法
  19. 聊聊 8种 架构模式
  20. 软件项目管理——人力资源管理

热门文章

  1. 64 位系统遇到未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0
  2. 不支持mac os x软件虚拟化。要运行mac os x,您需要主机VMware workstation支持硬
  3. 10.25T2 二维线段树
  4. Rancher-创建自己的应用商店教程
  5. c# 通过API启动外部程序
  6. squid服务器的代理
  7. Android 通过网页打开自己的APP(scheme)
  8. 是否会回到起点.回忆只能是回忆
  9. IT创业迷魂圈:不要画饼充饥
  10. VC++结束程序进程