【BZOJ 2223】 [Coci 2009]PATULJCI 主席树
2017-01-14 10:52
387 查看
刷水有益健康
#include<cstdio>
#include<cstring>
#include<iostream>
#define maxn 6000020
using namespace std;
int m,n,rt[maxn],sum[maxn],tot,ls[maxn],rs[maxn],c;
void insert(int x,int& y,int l,int r,int id){
y=++tot;ls[y]=ls[x],rs[y]=rs[x];sum[y]=sum[x]+1;
if(l==r)return ;
int mid=l+r>>1;
if(id>mid)insert(rs[x],rs[y],mid+1,r,id);
else insert(ls[x],ls[y],l,mid,id);
}
int query(int x,int y,int l,int r,int k){
if(l==r)return l;
int mid=l+r>>1;
if(sum[ls[y]]-sum[ls[x]]>k)return query(ls[x],ls[y],l,mid,k);
else if(sum[rs[y]]-sum[rs[x]]>k)return query(rs[x],rs[y],mid+1,r,k);
else return -1;
}
int main(){
scanf("%d%d",&n,&c);
for(int x,i=1;i<=n;i++){
scanf("%d",&x);
insert(rt[i-1],rt[i],1,c,x);
}
scanf("%d",&m);int a,b;
while(m--){
scanf("%d%d",&a,&b);
int x=query(rt[a-1],rt[b],1,c,(b-a+1)/2);
if(x==-1)puts("no");
else printf("yes %d\n",x);
}
return 0;
}
#include<cstdio>
#include<cstring>
#include<iostream>
#define maxn 6000020
using namespace std;
int m,n,rt[maxn],sum[maxn],tot,ls[maxn],rs[maxn],c;
void insert(int x,int& y,int l,int r,int id){
y=++tot;ls[y]=ls[x],rs[y]=rs[x];sum[y]=sum[x]+1;
if(l==r)return ;
int mid=l+r>>1;
if(id>mid)insert(rs[x],rs[y],mid+1,r,id);
else insert(ls[x],ls[y],l,mid,id);
}
int query(int x,int y,int l,int r,int k){
if(l==r)return l;
int mid=l+r>>1;
if(sum[ls[y]]-sum[ls[x]]>k)return query(ls[x],ls[y],l,mid,k);
else if(sum[rs[y]]-sum[rs[x]]>k)return query(rs[x],rs[y],mid+1,r,k);
else return -1;
}
int main(){
scanf("%d%d",&n,&c);
for(int x,i=1;i<=n;i++){
scanf("%d",&x);
insert(rt[i-1],rt[i],1,c,x);
}
scanf("%d",&m);int a,b;
while(m--){
scanf("%d%d",&a,&b);
int x=query(rt[a-1],rt[b],1,c,(b-a+1)/2);
if(x==-1)puts("no");
else printf("yes %d\n",x);
}
return 0;
}
相关文章推荐
- BZOJ_2223_[Coci 2009]PATULJCI_主席树
- [BZOJ2223][[Coci 2009]PATULJCI][主席树+特判]
- BZOJ 2223 [Coci 2009]PATULJCI | 主席树练习 (好像是个权限题啊)
- [主席树] BZOJ 3524 [Poi2014]Couriers BZOJ 2223 [Coci 2009]PATULJCI
- 【bzoj2223】[Coci 2009]PATULJCI 主席树
- BZOJ 2223: [Coci 2009]PATULJCI 主席树
- [bzoj2223][Coci 2009]PATULJCI 主席树
- 【bzoj3524/2223】[Poi2014]Couriers/[Coci 2009]PATULJCI 主席树
- 【BZOJ】3524 [Poi2014]Couriers && 【BZOJ】2223 [Coci 2009]PATULJCI 主席树
- bzoj2223: [Coci 2009]PATULJCI 主席树
- BZOJ 2223 [Coci 2009]PATULJCI 主席树
- bzoj2223: [Coci 2009]PATULJCI
- 【莫队算法】【权值分块】bzoj2223 [Coci 2009]PATULJCI
- [分块 随机化] BZOJ 2223 [Coci 2009]PATULJCI
- [BZOJ3524] [Poi2014]Couriers/[BZOJ2223] [Coci 2009]PATULJCI
- bzoj2223 [Coci 2009]PATULJCI
- 【BZOJ】【2223】【COCI 2009】PATULJCI
- BZOJ 2223: [Coci 2009]PATULJCI
- BZOJ2223 [Coci 2009]PATULJCI 题解&代码
- BZOJ 2223: [Coci 2009]PATULJCI