[BZOJ4627][BeiJing2016]回转寿司 cdq分治
怎么短怎么写对吧,cdq分治代替数据结构
把区间连续的看成前缀和相减,排序单调队列维护即可
注意sum[0]
/**************************************************************Problem: 4627User: di4CoveRyLanguage: C++Result: AcceptedTime:716 msMemory:2464 kb
****************************************************************/#include <iostream>
#include <cstdio>
#include <algorithm>
#define N 100050
using namespace std;
typedef long long LL;
LL sum[N],ans;
int a[N],n,L,R;void solve(int l,int r) {if (l > r) return ;int mid = (l + r) >> 1;if (l == r) return ;solve(l,mid); solve(mid+1,r);int h = l , t = l-1;for (int _=mid+1;_<=r;_++) {while (t+1 <= mid && sum[_] - sum[t+1] >= L) t++;while (h+1 <= mid+1 && sum[_] - sum[h] > R) h++;ans += max(t-h+1 , 0);}sort(sum+l,sum+r+1);
}int main() {scanf("%d%d%d",&n,&L,&R);for (int _=1;_<=n;_++) scanf("%d",&a[_]) , sum[_] = sum[_-1] + a[_];solve(0,n);cout << ans << endl;return 0;
}
[BZOJ4627][BeiJing2016]回转寿司 cdq分治相关推荐
- BZOJ4627: [BeiJing2016]回转寿司
BZOJ4627: [BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店. 在这里,一盘盘寿司通过传送带依次呈现在小Z眼前. 不同的寿司带给小Z的味 ...
- bzoj4627[BeiJing2016]回转寿司
bzoj4627[BeiJing2016]回转寿司 题意: 求在一个序列中和在区间[l,r]中的连续子序列的个数.序列大小≤100000,序列元素可以为负数. 题解: 题目要求这个:l<=sum ...
- BZOJ 4627: [BeiJing2016]回转寿司 cdq
4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 624 Solved: 273 [Submit][S ...
- P5459 [BJOI2016]回转寿司 (cdq分治)
题目链接:点击这里 PS:之前这个题是用动态开点的权值线段树写的,后来看到有大佬有cdq分治解决了这个问题,于是来学习记录一下这种解法,以加深对cdq分治的理解 题目大意: 给定一个长度为 nnn 的 ...
- Bzoj4627 [BeiJing2016]回转寿司
Time Limit: 10 Sec Memory Limit: 256 MB Submit: 329 Solved: 149 [Submit][Status][Discuss] Descript ...
- 【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]回转寿司
线段树裸题 #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的范围,二分找 ...
最新文章
- 计算机桌面黑屏时间,电脑自动黑屏时间怎么调?
- AI到底如何改变教育?好未来重金押注AI的背后逻辑
- 记录idea maven项目打包部署web项目mapper扫描失败
- SAP CDS view里如何定义association
- java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
- 计算机指令执行与时序逻辑,时序逻辑系统
- 网络游戏中网络模块浅析
- linux xmind无法运行,linux安装xmind的方法步骤
- exchange2007开启反垃圾邮件功能
- aforge 相机标定_c# – Aforge.net相机捕获并将图像保存到目录
- 如何使用css3做简单的动画效果?
- redis创建集群,redis-trib.rb命令详解
- python 切片步长_python 索引+切片+步长
- 发展你的GDS的应用技术
- 论文浅尝 | 探索用于归纳型知识图谱补全的关系语义
- JS 计算时间差(月份差、天数差)
- windows7系统出现0x0000003B蓝屏故障的解决方法
- 面试:Hook框架Xposed、Dexposed、Epic原理
- MyEclipse字体修改
- C28x 中断上下文的保存和恢复
热门文章
- Unity手柄按键映射
- 放大器跟随的Rf加与不加
- 华为云桌面,如何让云上办公变得高效、安全?
- 【WPS如何设置二级联动 】
- 【极简版GH60】【GH60剖析】【二】原理图的分析
- linux 基础命令测试题,grep命令基础练习题
- 一台兼容计算机配置价格,完成一台计算机的配置。要求:1、写出配置单,包含品牌、型号和报价 2、写出配置...
- Linux | 项目自动化构建工具 - make/Makefile
- 最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
- prometheus-webhook-dingtalk-1.4.0无法找到targets