费了好大劲写完的  用线段树维护的 nlogn的做法
再看了一下 大神们写的 nlogn  额差的好远
我写的又多又慢  大神们写的又少又快
时间  空间  代码量 哪个都赶不上大佬们的代码

//这是我写的
#include<iostream>
#include<stdio.h>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn = ;
int a[maxn];
int val[maxn<<];
vector<int>v;
int getid(int x){
return lower_bound(v.begin(),v.end(),x)-v.begin()+;
}
int query(int L,int R,int l,int r,int rt){
if(L<=l&&r<=R)return val[rt];
int m=(l+r)>>;int t=;
if(L<=m)t=max(t,query(L,R,l,m,rt<<));
if(R>m)t=max(t,query(L,R,m+,r,rt<<|));
return t;
}
void update(int x,int l,int r,int rt,int vv){
if(l==r){
val[rt]=vv;
}else{
int m=(l+r)>>;
if(x<=m)update(x,l,m,rt<<,vv);
else update(x,m+,r,rt<<|,vv);
val[rt]=max(val[rt<<],val[rt<<|]);
}
}
int main()
{
int n,ans=;
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",a+i);
v.push_back(a[i]);
}
sort(v.begin(),v.end());
v.erase(unique(v.begin(),v.end()),v.end());
for(int i=;i<=n;i++){
int t=getid(a[i]);
int vv=query(,t,,v.size(),)+;
ans=max(ans,vv);
update(t,,v.size(),,vv);
}
printf("%d\n",ans);
return ;
}
//这是大神们的
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<cmath>
using namespace std;
typedef __int64 ll;
#define maxn 50050
ll a[maxn],dp[maxn];
int main(){
int n;
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%I64d",&a[i]),dp[i]=;
int len=;
for(int i=;i<=n;i++){
if(i==){
dp[++len]=a[i];
}
else{
if(a[i]>dp[len]){
dp[++len]=a[i];
}
else{
int pos=lower_bound(dp+,dp+len+,a[i])-dp;
dp[pos]=a[i];
}
}
}
printf("%d\n",len);
}

最新文章

  1. Eclipse安装SVN教程
  2. [Asp.net 5] ApplicationBuilder详解
  3. 关于mat2gray
  4. 代码管理 – SVN
  5. Xshell 使用心得
  6. Inside Kolla - 02 Kolla 是什么
  7. Package &#39;chkconfig&#39; has no installation candidate
  8. Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)
  9. pod update --verbose --no-repo-update
  10. 芝麻HTTP:Python爬虫入门之Cookie的使用
  11. 算法第四版学习笔记之优先队列--Priority Queues
  12. JavaScript实现接口的三种经典方式
  13. vrn:基于直接体积回归的单幅图像大姿态三维人脸重建
  14. echarts实现全国地图
  15. Three.js开发指南---创建,加载高级网格和几何体(第八章)
  16. idea加载JSTL库
  17. POJ 1270 Following Orders(拓扑排序)题解
  18. MySQL会创建临时表的几种情况
  19. 谱聚类(Spectral clustering)(1):RatioCut
  20. 今天在Qt子界面中的Button,转到槽转不过去,报错Qt The class containing &#39;Ui::MainWindow&#39; could not be found in...

热门文章

  1. 18-python基础-字符串(1)
  2. spark复习总结03
  3. python tkinter 实现 带界面(GUI)的RSA加密、签名
  4. KiCAD的一些快捷操作(类比于AD)
  5. Opencv 特征提取与检测-Haar特征
  6. application/x-www-form-urlencode/multipart/form-data
  7. 关于linux centos7 vmware 和windows7 文件共享笔记
  8. vue 初始化rem
  9. Fabric.js的使用
  10. Robot Framework:变量与运算