博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导弹拦截
阅读量:4630 次
发布时间:2019-06-09

本文共 1135 字,大约阅读时间需要 3 分钟。

最长单调上升子序列

#include
#include
#include
#include
using namespace std;int f[1000000];int z[1000000];int lowbit(int x){ return x&-x;}int big;inline int ask(int x){ int r=0; for(int i=x;i>0;i-=lowbit(i)) r=max(r,f[i]); return r;}inline void add(int x,int v){ for(int i=x;i<=big;i+=lowbit(i)) f[i]=max(f[i],v);}inline int que(int x){ int r=0; for(int i=x;i<=big;i+=lowbit(i)) r=max(r,f[i]); return r;}inline void psh(int x,int v){ for(int i=x;i>0;i-=lowbit(i)) f[i]=max(f[i],v);}int tot;int a[1000000];int ans;int main(){ tot=1; while(scanf("%d",&a[tot])!=EOF) { big=max(big,a[tot]); z[tot]=a[tot]; tot++; } tot--; for(int i=1;i<=tot;i++) { int x=ask(a[i])+1; ans=max(ans,x); add(a[i]+1,x); } memset(f,0,sizeof(f)); int num=0; for(int i=1;i<=tot;i++) { int x=que(a[i])+1; num=max(num,x); psh(a[i],x); } printf("%d\n%d",num,ans); return 0;}

  

转载于:https://www.cnblogs.com/ainiyuling/p/11188549.html

你可能感兴趣的文章
Apache Tomcat 7.x 概述
查看>>
as3绕过策略文件给视频截图
查看>>
C语言程序设计第一次作业
查看>>
leetcode网学习笔记(1)
查看>>
自制操作系统Antz(9)——实现内核 (下) 实现图形化界面
查看>>
JavaScript获取当前日期,昨天,今天日期以及任意天数间隔日期
查看>>
电子宠物系统
查看>>
windows远程桌面如果超出最大连接数, 使用命令行mstsc /console登录即可
查看>>
49. Group Anagrams
查看>>
SPOJ ATOMS - Atoms in the Lab
查看>>
关于 ListBox 自动换行
查看>>
postman测试上传文件
查看>>
R. ftp软件
查看>>
List<T>中,Remove和RemoveAt区别
查看>>
十月回家记
查看>>
ZOJ 3735 dp
查看>>
android效果背景虚化
查看>>
jQuery效果:隐藏、显示、切换、滑动、淡入淡出、动画
查看>>
Java 学习笔记(4)——java 常见类
查看>>
IOS开源项目汇总
查看>>