思路:
(1)条件:n个数
(2)问题:
(3)分析:
代码:
- #include
- using namespace std;
- const int N=100010;
- int n,ans,a[N],f[N];//这里把f数组与len数组合并了
- int main()
- {
- cin.tie(0);
- cout.tie(0);//必须加速优化
- int x;
- while(cin>>x)a[++n]=x;
- memset(f,0x3F,sizeof(f));//初始化为极大值
- reverse(a+1,a+n+1);//反转
- for(int i=1;i<=n;i++)
- {
- int l=1,r=i;
- while(l
//左查 - {
- int mid=(l+r)/2;
- if(f[mid]>a[i])r=mid;
- else l=mid+1;
- }
- f[l]=min(f[l],a[i]);
- ans=max(ans,l);
- }
- cout<
- memset(f,0x3F,sizeof(f));
- reverse(a+1,a+n+1);//反转回来
- ans=0;//注意
- for(int i=1;i<=n;i++)
- {
- int l=1,r=i;
- while(l
- {
- int mid=(l+r)/2;
- if(f[mid]>=a[i])r=mid;
- else l=mid+1;
- }
- f[l]=min(f[l],a[i]);
- ans=max(ans,l);
- }
- cout<
- return 0;
- }
-
相关阅读:
TLS 的证书验证过程
南卡与孩视宝护眼台灯哪个好?全方位分析两款护眼台灯
基于SpringBoot的二手商品交易平台
Google guava之ClassToInstanceMap简介说明
Java并发面试题:(五)volatile关键字
HTML base标签
本地虚拟机centos7通过docker安装主从mysql5.7.21
【HTTP】Cookie 和 Session 详解
L2TP客户端之Strongswan移植(三)
面向OLAP的列式存储DBMS-6-[ClickHouse]的常用DDL操作
-
原文地址:https://blog.csdn.net/m0_70392867/article/details/134325093