jzoj5710
對於每個詢問,我們先考慮插入1~r中每個數的答案,這樣子就不用考慮後面數對現在的影響
那麼我們可以在權值線段樹的每一個位置存儲每一個值最後一次結束的位置
問題變成了,如何判斷區間連續?
我們可以對線段樹對應區間所有節點權值取最小值,我們發現如果有一個值<l,那麼有一個數不在區間內出現,區間就不連續,否則區間就連續
#include<bits/stdc++.h>
using namespace std;
#define N 200010
int n,m,a[N],lc[N<<5],rc[N<<5],rt[N],sz[N<<5],ct,la,t;
void ins(int &o,int p,int l,int r,int x,int y){
if(!o)o=++ct;
if(l==r){
sz[o]=y;
return;
}
int mid=(l+r)/2;
if(x<=mid){
rc[o]=rc[p];
ins(lc[o],lc[p],l,mid,x,y);
}
else{
lc[o]=lc[p];
ins(rc[o],rc[p],mid+1,r,x,y);
}
sz[o]=min(sz[lc[o]],sz[rc[o]]);
}
int q(int o,int p,int l,int r,int x){
if(l==r)return l;
int mid=(l+r)/2;
if(sz[lc[o]]>=x)return q(rc[o],rc[p],mid+1,r,x);
return q(lc[o],lc[p],l,mid,x);
}
int main(){
freopen("mex.in","r",stdin);
freopen("mex.out","w",stdout);
scanf("%d%d%d",&n,&m,&t);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
ins(rt[i],rt[i-1],0,1e9+5,a[i],i);
}
while(m--){
int l,r;
scanf("%d%d",&l,&r);
if(t)l^=la,r^=la;
la=q(rt[r],rt[l-1],0,1e9+5,l);
printf("%d\n",la);
}
}
jzoj5710的更多相关文章
随机推荐
- 【z】Storm - the world's best IDE framework for .NET
http://www.codeproject.com/Articles/42799/Storm-the-world-s-best-IDE-framework-for-NET Storm - the w ...
- Linux统计某文件夹下文件的个数
ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件的个数,包括子文件夹里的 ...
- ajax原理以及优缺点(转)
1.ajax技术的背景不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的 ...
- redhat安装xwindow环境
. yum groupinstall "X Window System" . yum groupinstall "GNOME Desktop Environment&qu ...
- 转载 springboot 配置读取
前言:了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件**.properties的信息 ...
- MapReduce 计算模式
声明:本文摘录自<大数据日知录——架构与算法>一书. 较常见的计算模式有4类,实际应用中大部分ETL任务都可以归结为这些计算模式或者变体. 1.求和模式 a.数值求和 比如我们熟悉的单词计 ...
- Luogu 3953[NOIP2017] 逛公园 堆优化dijkstra + 记忆化搜索
题解 首先肯定是要求出单源最短路的,我用了堆优化dijikstra ,复杂度 mlogm,值得拥有!(只不过我在定义优先队列时把greater 打成了 less调了好久 然后我们就求出了$i$到源点的 ...
- 官网类原型模板分享——Apple
苹果公司是美国一家高科技公司,引领全球数码产品设计潮流,是世界最具价值的品牌. 此原型正是取自苹果公司官网,网站主要以展示产品为主,排版方式采用大图配简练的文字,清爽简洁的同时突出产品优势,增大产品的 ...
- 2018.10.08 NOIP模拟 序列(主席树)
传送门 T2防ak题? 其实也不是很难(考试时sb了). 直接变形一下求出区间长度在[l2,r2][l2,r2][l2,r2]之间,中位数≤l1−1\le l1-1≤l1−1的区间数,和区间长度在[l ...
- 2018.06.30 BZOJ3083: 遥远的国度(换根树剖)
3083: 遥远的国度 Time Limit: 10 Sec Memory Limit: 512 MB Description 描述 zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国 ...