最长不下降子序列 (nlgn)做法
来源:互联网 发布:淘宝联盟无法登陆 编辑:程序博客网 时间:2024/04/20 07:59
题目描述
有长度为N的序列:
A1 A2 …..An
求最长不下降子序列:Ai1,Ai2,,,,,Aik, 其中ai1<=ai2<=…..<=aik
求最长不下降子序列的长度
输入
11
1 3 6 3 4 7 5 7 6 7 8
输出
8
思路
每次把当前数替换掉最小的比当前数大的数,记录下当前的长度,和max进行判断就可以了
#include<cstdio>using namespace std;int a[1000],d[1000];int ef(int f,int k){ int l=1,r=k,mid; while(l<=r) { mid=(l+r)/2; if(d[mid]==f) return mid; if(d[mid]<f) l=mid+1; if(d[mid]>f) r=mid-1; } return l;}int main(){ int n,c,len; scanf("%d",&n); for (int i=1;i<=n;++i) scanf("%d",&a[i]); d[1]=a[1]; len=1; for (int i=1;i<=n;++i) { c=ef(a[i],len); d[c]=a[i]; if(c>len) len=c; } printf("%d",len);}
1 0
- 最长不下降子序列 (nlgn)做法
- 最长不下降子序列 (3种做法)
- 最长不下降子序列(n log n)做法
- 求最长上升/下降子序列【O(nlgn)】
- nlgn求最长不下降子列
- 最长不下降子序列(二)
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- 最长不下降子序列
- Java排序算法——冒泡排序
- 网教 8.a+b
- [PAT] B1047
- 数据结构一些知识点备忘
- 微软的十大变动
- 最长不下降子序列 (nlgn)做法
- STM32库内程序一些好的编程思路、方法及好的程序
- maven项目中引入外部数据库链接文件db.properties中的一个bug
- composer 基本使用方法
- POJ 1759(数学递推+二分)
- MSM8937平台bootloader调试之一
- Python 【Day2】
- Majority Element
- poj1742(多重背包dp)