博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codevs——1576 最长严格上升子序列(序列DP)
阅读量:7221 次
发布时间:2019-06-29

本文共 901 字,大约阅读时间需要 3 分钟。

 

 

 时间限制: 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 

 
   
 
 
代码:
#include
#include
#include
#include
#include
#include
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

 思路:

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

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

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

你可能感兴趣的文章
The best programmers are the quickest to Google
查看>>
[置顶] 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置
查看>>
【Android】Parse开发笔记(1)—— 准备
查看>>
问题描述符USB枚举错误 bus hound bad config desc
查看>>
UML基础概念
查看>>
【玩转Ubuntu】01. Ubuntu上配置JDK
查看>>
box-sizing
查看>>
windows设备驱动安装指南
查看>>
批处理文件脚本总结
查看>>
读<jquery 权威指南>[2]-事件
查看>>
Leetcode: Path Sum
查看>>
我为什么放弃Go语言
查看>>
pthread_rwlock
查看>>
UVAoj 348 - Optimal Array Multiplication Sequence
查看>>
设计模式——代理模式
查看>>
裂变问题
查看>>
使用oracle外部表进行数据泵卸载数据
查看>>
弹出消息对话框ScriptManager
查看>>
WEB打印(jsp版)
查看>>
URLEncode与URLDecode总结与实现
查看>>