bzoj3524 [Poi2014]Couriers(主席树查询第k小)
来源:互联网 发布:录音笔记软件 编辑:程序博客网 时间:2024/06/10 03:25
这题改了半天,我怕不是个sb x。一个区间内出现次数大于r-l+1>>1的数最多就有一个啊!,所以直接在线段树上找复杂度不会有问题的。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define ll long long#define inf 0x3f3f3f3f#define N 500010inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}int n,m,a[N],rt[N],owo=0;struct node{ int x,lc,rc;}tree[N*30];inline void change(int &p,int l,int r,int x){ tree[++owo]=tree[p];p=owo;tree[p].x++; if(l==r) return;int mid=l+r>>1; if(x<=mid) change(tree[p].lc,l,mid,x); else change(tree[p].rc,mid+1,r,x);}inline int ask(int p1,int p2,int l,int r,int x){ if(tree[p2].x-tree[p1].x<x) return 0; if(l==r) return l;int mid=l+r>>1; int val=tree[tree[p2].lc].x-tree[tree[p1].lc].x; if(val>=x) return ask(tree[p1].lc,tree[p2].lc,l,mid,x); else return ask(tree[p1].rc,tree[p2].rc,mid+1,r,x);}int main(){// freopen("a.in","r",stdin); n=read();m=read(); for(int i=1;i<=n;++i) a[i]=read(); for(int i=1;i<=n;++i){ rt[i]=rt[i-1];change(rt[i],1,n,a[i]); }while(m--){ int l=read(),r=read(); printf("%d\n",ask(rt[l-1],rt[r],1,n,(r-l+1>>1)+1)); }return 0;}
阅读全文
0 0
- bzoj3524 [Poi2014]Couriers(主席树查询第k小)
- [BZOJ3524][Poi2014]Couriers(主席树)
- [BZOJ3524][Poi2014]Couriers(主席树)
- bzoj3524: [Poi2014]Couriers(主席树)
- [BZOJ3524][Poi2014]Couriers(主席树)
- 【BZOJ3524】[Poi2014]Couriers【主席树】
- [bzoj3524][Poi2014]Couriers 主席树
- 【主席树】BZOJ3524 [Poi2014]Couriers
- bzoj3524 [Poi2014]Couriers 主席树
- 【主席树】BZOJ3524(Poi2014)[Couriers]题解
- 【bzoj3524/2223】[Poi2014]Couriers/[Coci 2009]PATULJCI 主席树
- 【bzoj3524】Couriers 主席树
- 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题
- bzoj 3524: [Poi2014]Couriers(主席树)
- 洛谷P3567 [POI2014]KUR-Couriers(BZOJ3524)
- [Bzoj3524][Poi2014]Couriers
- bzoj3524[Poi2014]Couriers
- 【Poi2014】【BZOJ3524】Couriers
- 在使用mybaitis传参数的时候,仅传入一个类型为String的参数所遇到的问题
- request.getParameter取值后的if判断
- Java基础之ConcurrentHashMap原理分析
- 根据url从网络上下载资源
- ibtais和plsql使用注意事项
- bzoj3524 [Poi2014]Couriers(主席树查询第k小)
- 阿里发布鲁班智能设计平台,将大规模赋能新商业
- 第一篇
- Java基础之IO
- Junit测试相关笔记
- 根据pdf转换成tif图片
- linux CentOS7 下 Nginx 1.13.7 日志管理(定时任务完成日志切割)
- the cdb process terminated
- 数据库之-高性能MySQL