bzoj3173
Description
Input
Output
Sample Input
0 0 2
Sample Output
1
2
HINT
100%的数据 n<=100000
- #include<stdio.h>
- #include<stdlib.h>
- #include<string>
- #include<string.h>
- #include<iostream>
- #include<algorithm>
- #include<queue>
- #include<math.h>
- #include<vector>
- #include<map>
- #include<set>
- #define il inline
- #define re register
- using namespace std;
- const int N=;
- int l[N],r[N],rnd[N],siz[N],v[N],s[N],cnt,now,root,n,ans[N],g;
- il void update(re int k){
- siz[k]=siz[l[k]]+siz[r[k]]+;
- }
- il void rturn(re int &k){
- int t=l[k];l[k]=r[t];r[t]=k;update(k);update(t);k=t;
- }
- il void lturn(re int &k){
- int t=r[k];r[k]=l[t];l[t]=k;update(k);update(t);k=t;
- }
- il void insert(re int &k,re int rank){
- if(!k){
- k=(++cnt);rnd[k]=rand();siz[k]=;return;
- }
- siz[k]++;
- if(siz[l[k]]<rank){
- insert(r[k],rank-siz[l[k]]-);
- if(rnd[r[k]]<rnd[k]) lturn(k);
- }
- else{
- insert(l[k],rank);
- if(rnd[l[k]]<rnd[k]) rturn(k);
- }
- }
- il int read(){
- re int hs=;re char c=getchar();
- while(!isdigit(c)) c=getchar();
- while(isdigit(c)){
- hs=(hs<<)+(hs<<)+c-'';
- c=getchar();
- }
- return hs;
- }
- il void dfs(re int k){
- if(!k) return;
- dfs(l[k]);
- v[++now]=k;
- dfs(r[k]);
- }
- int main(){
- memset(s,,sizeof(s));s[]=-;n=read();
- for(re int i=,x;i<=n;i++){
- x=read();insert(root,x);
- }
- dfs(root);
- for(re int i=,t;i<=n;i++){
- t=upper_bound(s,s+g+,v[i])-s;
- if(s[t-]<=v[i]){
- s[t]=min(s[t],v[i]);
- ans[v[i]]=t;
- g=max(g,t);
- }
- }
- for(re int i=;i<=n;i++){
- ans[i]=max(ans[i-],ans[i]);
- printf("%d\n",ans[i]);
- }
- return ;
- }
bzoj3173的更多相关文章
- [BZOJ3173][Tjoi2013]最长上升子序列
[BZOJ3173][Tjoi2013]最长上升子序列 试题描述 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上 ...
- [bzoj3173]最长上升子序列_非旋转Treap
最长上升子序列 bzoj-3173 题目大意:有1-n,n个数,第i次操作是将i加入到原有序列中制定的位置,后查询当前序列中最长上升子序列长度. 注释:1<=n<=10,000,开始序列为 ...
- BZOJ3173 TJOI2013最长上升子序列(splay)
容易发现如果求出最后的序列,只要算一下LIS就好了.序列用平衡树随便搞一下,这里种一棵splay. #include<iostream> #include<cstdio> #i ...
- 【LG4309】【BZOJ3173】[TJOI2013]最长上升子序列
[LG4309][BZOJ3173][TJOI2013]最长上升子序列 题面 洛谷 BZOJ 题解 插入操作显然用平衡树就行了 然后因为后面的插入对前面的操作无影响 就直接在插入完的序列上用树状数组求 ...
- 【bzoj3173】最长上升子序列
Portal --> bzoj3173 Solution 感觉自己需要智力康复qwq 首先题目给的这个序列肯定是一个\(1-n\)的排列,并且插入的顺序是从小到大 仔细思考一下会发现如果知道了最 ...
- BZOJ3173 TJOI2013最长上升子序列(Treap+ZKW线段树)
传送门 Description 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上升子序列长度是多少? Input ...
- bzoj3173[Tjoi2013]最长上升子序列 平衡树+lis
3173: [Tjoi2013]最长上升子序列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2253 Solved: 1136[Submit][S ...
- bzoj千题计划316:bzoj3173: [Tjoi2013]最长上升子序列(二分+树状数组)
https://www.lydsy.com/JudgeOnline/problem.php?id=3173 插入的数是以递增的顺序插入的 这说明如果倒过来考虑,那么从最后一个插入的开始删除,不会对以某 ...
- [BZOJ3173]最长上升子序列
Problem 给你n个数A1~An,每次将i插入第Ai位后,最后输出每次插入后这个数列的最长上升子序列 Solution 这道题非常的妙.首先如果新加入的这个数构成了最长上升子序列,由于在它插入之前 ...
- BZOJ3173:[TJOI2013]最长上升子序列(Splay)
Description 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上升子序列长度是多少? Input 第一行一 ...
随机推荐
- 前端 layui
如果想实现类似 alert这种效果又不想阻塞html运行的话,就是用layer吧! http://www.layui.com/
- Java构造方法与析构方法实例剖析
Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且 ...
- Keil出错解决方法
1.安装KEIL5后创建工程后出现这个报错 解决方法:打开下图目录的文件. Keil.STM32F1xx_DFP.pdsc文件是只读文件,必须将只读属性取消. 如下图所示,注释掉红色圆圈的哪一行,保存 ...
- asp.net 问题:Web 服务器上的请求筛选模块被配置为 拒绝包含的查询字符串过长的请求
发现问题: post请求,在发送一个图片base64编码的字符串时,服务端报这个错误. 报错信息中给出了解决办法: 最可能的原因: Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长. ...
- Scrapy模拟登录GitHub
d: 进入D盘 scrapy startproject GitHub 创建项目 scrapy genspider github github.com 创建爬虫 编辑github.py: # -*- c ...
- Android 不同分辨率下调整界面
Android Settings中有修改Disaply size的界面,通过修改Display size,能够修改屏幕分辨率. 由于修改了屏幕分辨率,有可能导致同一界面在不同的分辨率下显示出错(内容显 ...
- Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向
原文发表于cu:2016-08-25 参考文档: Nginx 反向代理.负载均衡.页面缓存.URL重写等:http://freeloda.blog.51cto.com/2033581/1288553 ...
- 王者荣耀交流协会-Alpha发布用户使用报告
用户数量:10人 姓名如下(包括化名):张小斌.王瑞瑞.蛋蛋.小美.晨曦.小丽.张利刚.小闫.小谢.小崔 寻找的用户多为王者荣耀交流协会成员的同学,对管理时间有着强烈的需求,也对PSP Daily软件 ...
- Kotlin 学习笔记(一)
(Kotlin 学习笔记的文档结构基本按照 Java 核心技术一书的目录排列) 基本程序设计结构 数据类型 数字 类型 宽度 Double 64 Float 32 Long 64 Int 32 Sho ...
- Alpha冲刺——第六天
Alpha第六天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...