51nod 1134 最长递增子序列
2015-07-09 16:28
176 查看
1134
最长递增子序列
基准时间限制:1 秒 空间限制:131072
KB 分值: 0
给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)
例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。
Input
Output
Input示例
Output示例
最长递增子序列
基准时间限制:1 秒 空间限制:131072
KB 分值: 0
给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)
例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。
Input
第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1行:每行1个数,对应序列的元素(-10^9 <= S[i] <= 10^9)
Output
输出最长递增子序列的长度。
Input示例
8 5 1 6 8 2 4 5 10
Output示例
5
依旧是没有注释#include <iostream> #include <algorithm> #include <cstring> using namespace std; int f[50000]; int ac(int i,int j, int a) { while(i<=j) { int mid=(i+j)/2; if(f[mid]==a)return mid; else if(f[mid]<a)i=mid+1; else j=mid-1; } return i; } int main() { int n; cin>>n; int a; int max=0; for(int i=0; i<n; i++) { cin>>a; int j=ac(1,max,a); f[j]=a; if(j>max)max=j; } cout<<max<<endl; return 0; }
相关文章推荐
- 面向对象-类
- 浅析pc机上如何将vmlinuz-2.6.31-14-generic解压出vmlinux
- linux删除乱码
- CentOS 6.3 Rsync客户端与Win2003 cwRsyncServer服务端实现数据同步
- flexPaper一直加载不能够显示swf文件
- Junit中如何获取class的private属性
- TextView的内部链接支持长按
- 代码流程分析二:Settings-蓝牙分析-加载界面
- opencv hello.obj : error LNK2001: unresolved external symbol _cvNamedWindow
- JavaScript数据结构深度剖析
- 浅谈NGUI中的淡入淡出效果
- lsb_release 命令找不到
- C# 工具方法集
- Windows下 wamp+tomcat 环境整合
- Unity 各级别 技术面试
- 硬盘基本知识:物理构造和逻辑单元
- android:TextSize问题
- 【php】php文件中不需要php结束标记的好处
- Object.defineProperty
- 关闭Linux(Centos 7.0)蜂鸣器