【BZOJ 4299】 Codechef FRBSUM 主席树
来源:互联网 发布:澳门mac专柜 编辑:程序博客网 时间:2024/05/21 19:38
一个显然的性质:如果之前可以组成前mx个数,那么可以新加入一个<=mx+1的数构成一个更大的mx,如果>max+1则对当前无贡献
但是。。。推出这个性质后面我就没想到了。。。。
其实,每当我们得到一个mx以后,因为小于等于mx+1的数都可以和mx构成一个新的mx,因此新的mx=sum[mx+1],sum表示小于等于mx+1的前缀和,而这样每一次都至少增加一倍所以最多log次,主席树维护前缀和就好了
#include<cstdio>#include<cstring>#include<iostream>#define maxn 100021#define LL long longusing namespace std;int n,m,ls[maxn*40],rs[maxn*40],tot,rt[maxn];LL sum[maxn*40];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]+id;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);}LL query(int x,int y,int l,int r,int id){if(l==r)return sum[y]-sum[x];int mid=l+r>>1;if(id<=mid)return query(ls[x],ls[y],l,mid,id);else return sum[ls[y]]-sum[ls[x]]+query(rs[x],rs[y],mid+1,r,id);}int main(){scanf("%d",&n);for(int x,i=1;i<=n;i++){scanf("%d",&x);insert(rt[i-1],rt[i],1,1e9,x);}scanf("%d",&m);int l,r;LL mx,last;while(m--){scanf("%d%d",&l,&r);mx=last=0;while(1){mx=query(rt[l-1],rt[r],1,1e9,mx+1);if(mx==last){printf("%lld\n",mx+1);break;}last=mx;}}return 0;}
0 0
- 【 bzoj 4299 】 Codechef FRBSUM - 主席树乱搞
- 【BZOJ 4299】 Codechef FRBSUM 主席树
- 4408: [Fj Winter Camp 2016]神秘数&&4299: Codechef FRBSUM|主席树
- 【BZOJ4299】Codechef FRBSUM
- [bzoj4299]Codechef FRBSUM
- BZOJ 3514 Codechef MARCH14 GERALD07加强版 LCT+主席树
- BZOJ 3514 Codechef MARCH14 GERALD07加强版 LCT+主席树
- [LCT 主席树] BZOJ 3514 Codechef MARCH14 GERALD07加强版
- 【主席树】Codechef Prefix XOR
- [主席树] Codechef: Prefix XOR
- BZOJ 3221 [Codechef FEB13] Obserbing the tree树上询问 树链剖分 主席树维护区间加等差数列
- BZOJ 3221: [Codechef FEB13] Obserbing the tree树上询问 树链剖分 主席树
- [主席树 Hash] Codechef JUNE17 #CLONEME Cloning
- [主席树维护HASH] Codechef. Cloning
- bzoj 3932(主席树)
- BZOJ 2588 主席树
- BZOJ4408: [Fjoi 2016]神秘数&&BZOJ4299: Codechef FRBSUM
- bzoj3514 Codechef MARCH14 GERALD07加强版 LCT&&主席树
- HDFS问题
- POJ 2983 Is the Information Reliable(差分约束系统 spfa判负环)
- Maven 配置filter导致Excel文件损坏的问题
- Crackme 3
- 开始编程之旅
- 【BZOJ 4299】 Codechef FRBSUM 主席树
- 『设计模式』之小试牛刀
- 21. Merge Two Sorted Lists
- 前端工程师不得不知道的ES6新特性(一)
- Ubuntu hostname修改
- ZOJ3359【阅读理解】
- 使用shttpd接受上传文件的问题
- 白话经典算法系列之六 快速排序 快速搞定
- Android Studio取消关联Git