BZOJ4627: [BeiJing2016]回转寿司
BZOJ4627: [BeiJing2016]回转寿司
Description
Input
Output
Sample Input
1 2 3 4 5
Sample Output
注意值可能为负。。。
还要先插入一个0表示sum[0] = 0。。。
还要离散化。。。
#include<iostream>
#include<algorithm>
#include<cstdio>
#define MAXN 100010
using namespace std;
int n,l,r;
int bst[MAXN];
long long sum[MAXN],b[MAXN];
inline int read(){int date=0,w=1;char c=0;while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}return date*w;
}
inline int lowbit(int x){return x&(-x);}
void update(int x,int v){for(int i=x;i<=n;i+=lowbit(i))bst[i]+=v;
}
int query(int x){int s=0;for(int i=x;i;i-=lowbit(i))s+=bst[i];return s;
}
void work(){long long ans=0;for(int i=0;i<=n;i++){ans+=query(upper_bound(b+1,b+n+2,sum[i]-l)-b-1)-query(lower_bound(b+1,b+n+2,sum[i]-r)-b-1);update(lower_bound(b+1,b+n+2,sum[i])-b,1);}printf("%lld\n",ans);
}
void init(){n=read();l=read();r=read();for(int i=1;i<=n;i++){int x=read();b[i]=sum[i]=sum[i-1]+x;}sort(b+1,b+n+2);
}
int main(){init();work();return 0;
}
转载于:https://www.cnblogs.com/Yangrui-Blog/p/9315214.html
BZOJ4627: [BeiJing2016]回转寿司相关推荐
- bzoj4627[BeiJing2016]回转寿司
bzoj4627[BeiJing2016]回转寿司 题意: 求在一个序列中和在区间[l,r]中的连续子序列的个数.序列大小≤100000,序列元素可以为负数. 题解: 题目要求这个:l<=sum ...
- Bzoj4627 [BeiJing2016]回转寿司
Time Limit: 10 Sec Memory Limit: 256 MB Submit: 329 Solved: 149 [Submit][Status][Discuss] Descript ...
- [BZOJ4627][BeiJing2016]回转寿司 cdq分治
怎么短怎么写对吧,cdq分治代替数据结构 把区间连续的看成前缀和相减,排序单调队列维护即可 注意sum[0] /******************************************** ...
- 【BZOJ4627】[BeiJing2016]回转寿司 SBT
[BZOJ4627][BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿司带给小Z的味觉感 ...
- bzoj 4627: [BeiJing2016]回转寿司 -- 权值线段树
4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec Memory Limit: 256 MB Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店. ...
- BZOJ 4627: [BeiJing2016]回转寿司 cdq
4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 624 Solved: 273 [Submit][S ...
- BZOJ 4627: [BeiJing2016]回转寿司
线段树裸题 #include<cstdio> using namespace std; int cnt,root,sz[10000005],ls[10000005],rs[10000005 ...
- bzoj 4627:[BeiJing2016]回转寿司
算法:裸树状数组/裸线段树 难度:(NOIP-) 设s[i]为前缀和,差分,把序列和转化为前缀相减,即选出满足L≤s[x]−s[y]≤R的x>y的数个数.那么我们枚举x,即可得到y的范围,二分找 ...
- BZOJ 4627回转寿司(值域线段树)
4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 507 Solved: 217 [Submit][S ...
最新文章
- mysql 按两列排序吗_按两列排序MySQL表
- C#virtual和abstract的区别
- 数据中心机房常用通信管道塑料管材
- php多主写数据,多数据库的配置(从主)
- 【图像超分辨率】Image Super-Resolution by Neural Texture Transfer
- Windows7休眠状态下载技巧攻略
- 金华职业技术学院计算机应用技术分数线,金华职业技术学院录取分数线2021是多少分(附历年录取分数线)...
- 1-物联网开发标配方案(预期方案使用说明和演示)
- 不知道用什么图表展示数据?看这份图表选择指南就够了
- 二维数组名作为实参或者形参
- linux下最好的ftp服务器,用Linux系统构建高效FTP服务器
- 腾讯公布5G开放平台全景图,定义12大场景,引入45个应用
- 前期拍摄注意的简要几点,总结了一哈,与大家分享!
- 【mysql】Filesort on too many rows解决方法
- 双轴旋转云台plc控制_Robomaster电控入门(7)双轴云台控制
- 汽车控制器自研AUTOSAR开发工具链需要哪些?
- Android集成阿里云一键登录步骤
- w7测算计算机分级,HSW-E平台跑分竟失败:需要打补丁
- 牛客练习赛50 F 	tokitsukaze and Another Protoss and Zerg(分治NTT)
- kafka linux 脚本测试,kafka shell命令操作