BZOJ 4627: [BeiJing2016]回转寿司【前缀和,值域线段树
来源:互联网 发布:node.js跟java哪个好学 编辑:程序博客网 时间:2024/04/28 18:28
就是求 区间和∈[L,R]的区间的个数
求一下前缀和,就是对于每个右端点查询左边 前缀和∈[sum[i]-R , sum[i]-L]的个数
值域线段树瞎搞搞就好
注意值可能为负
还要先插入一个0表示sum[0] = 0 【感谢良心样例
#include<bits/stdc++.h>#define MAXN 100005#define INF 10000000000llusing namespace std;int n;long long ll,rr;long long sum[MAXN];struct t1{int cnt,leftson,rightson;}dt[MAXN * 85];int cnt_node = 1 , root = 1;void insert(int &now,long long l,long long r,long long v){if(!now)now = ++cnt_node;++dt[now].cnt;if(l==r)return ;long long mid = (l+r)>>1;if(v<=mid)insert(dt[now].leftson,l,mid,v);elseinsert(dt[now].rightson,mid+1,r,v);}int inqry(int now,long long l,long long r,long long L,long long R){if(L<=l&&r<=R)return dt[now].cnt;long long mid = (l+r)>>1;int tmp = 0;if(L<=mid && dt[now].leftson)tmp = inqry(dt[now].leftson,l,mid,L,R);if(mid<R && dt[now].rightson)tmp += inqry(dt[now].rightson,mid+1,r,L,R);return tmp;}int main(){//freopen("1.in","r",stdin);scanf("%d%lld%lld",&n,&ll,&rr);for(int i=1;i<=n;++i)scanf("%lld",sum+i),sum[i] += sum[i-1];long long ans = 0;insert(root,-INF,INF,0);for(int i=1;i<=n;++i){ans += inqry(root,-INF,INF,sum[i]-rr,sum[i]-ll);insert(root,-INF,INF,sum[i]);}printf("%lld",ans);return 0;}
0 0
- BZOJ 4627: [BeiJing2016]回转寿司【前缀和,值域线段树
- bzoj 4627: [BeiJing2016]回转寿司 线段树
- BZOJ 4627回转寿司(值域线段树)
- bzoj-4627 [BeiJing2016]回转寿司 hash+权值线段树
- 【BZOJ】4627 [BeiJing2016]回转寿司
- BZOJ 4627: [BeiJing2016]回转寿司 cdq
- 4627: [BeiJing2016]回转寿司
- BZOJ4627 回转寿司(值域线段树)
- bzoj 4627 回转寿司(权值线段树)
- BZOJ4627 [BeiJing2016]回转寿司
- Bzoj4627: [BeiJing2016]回转寿司
- Bzoj4627:BeiJing2016-回转寿司
- [BZOJ4627][BeiJing2016]回转寿司 cdq分治
- 值域线段树 bzoj 4627
- 【线段树】【CDQ分治】回转寿司
- 回转寿司
- BZOJ 3339 Rmq Problem【离线,值域线段树
- bzoj 4397: [Usaco2015 dec]Breed Counting 前缀和/线段树
- Image Style Transfer Using Convolutional Neural Network(理论篇)
- usb子系统中重要的数据结构
- problem-2037 今年暑假不AC (java)
- SQL语句
- 安卓手机刷机教程
- BZOJ 4627: [BeiJing2016]回转寿司【前缀和,值域线段树
- 嵌入式学习心得(七)
- Android开发————分析Native层内存泄漏
- 传入Java对象 自动创建动态表 并录入数据
- CocoaPods导入GoogleSDK(GVRSDK) 出现443 解决办法
- 蓝桥杯比赛算法总结
- Leaflet v1.0.0 Map接口API 方法(未完待续)
- git详解(二)理解git对象
- 云计算演义(6)这是个要么颠覆要么被颠覆的时代