http://poj.org/problem?id=3903

数列里是存从小到大排的数,二分也是为了这个服务的,不断更新。而len才是所求长度

 #include <iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#define mem(a) memset(a,0,sizeof(a))
using namespace std; int main()
{
int t,a[],f[];
while(cin>>t)
{
for(int i=;i<t;i++)
{
scanf("%d",&a[i]);
}
f[]=-;
int len=,l,r,mid;
for(int i=;i<t;i++)
{
if(a[i]>f[len]) f[++len]=a[i];
else
{
l=,r=len;
while(l<=r)
{
mid=((l+r)>>);
if(f[mid]>=a[i]) r=mid-;
else l=mid+;
}
f[l]=a[i]; //因为执行l=mid+1的条件就是a[i]大于mid了所以到最后正好能被替换掉的下标就是l或者r+1
}
}
cout<<len<<endl; }
return ;
}

最新文章

  1. 微信平台ASPX高级定制开发(一):如何使用C#建立响应微信接入和自动回复的代码
  2. UI控件闪烁及刷新
  3. Textview在Listview中实现跑马灯效果
  4. UESTC 912 树上的距离 --LCA+RMQ+树状数组
  5. apahce
  6. 《c程序设计语言》读书笔记--反转字符串
  7. php 中cookie和session的用法比较
  8. Java内存溢出的详细解决方案
  9. Android使用Dom解析xml
  10. HDU 1232:流问题(并检查集合)
  11. CentOS6.5 安装mysql5.6.30
  12. 初级:使用MD5对字符串进行加密操作
  13. .gitignore文件的配置和生效
  14. 使用turtle画故宫(伍奇,侯俊豪小组)
  15. String 和 StringBuffer、StringBuilder
  16. linux中通过lsof恢复删除的文件,前题是fd被占用。
  17. Tsung&#160;CentOS&#160;操作系统下搭建tsung性能测试环境_Part&#160;2
  18. 大数据入门到精通2--spark rdd 获得数据的三种方法
  19. windows恶意软件删除工具(MRT.exe)检查计算机是否感染病毒使用图解
  20. UI5-文档-4.22-Expression Binding

热门文章

  1. iOS -- Effective Objective-C 阅读笔记 (1)
  2. 【MySql】Group By数据分组
  3. vuejs中使用echarts
  4. Java的课后作业——18.10.18
  5. 对Swoole、Workerman和php自带的socket的理解
  6. 中介模型以及优化查询以及CBV模式
  7. LeetCode(99):恢复二叉搜索树
  8. Solver Of Caffe
  9. poj2417 bsgs算法非逆元模板,用于求解A^x=B(mod C)的方程
  10. 升级centos6.8内核