怎么短怎么写对吧,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分治相关推荐

  1. BZOJ4627: [BeiJing2016]回转寿司

    BZOJ4627: [BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店. 在这里,一盘盘寿司通过传送带依次呈现在小Z眼前. 不同的寿司带给小Z的味 ...

  2. bzoj4627[BeiJing2016]回转寿司

    bzoj4627[BeiJing2016]回转寿司 题意: 求在一个序列中和在区间[l,r]中的连续子序列的个数.序列大小≤100000,序列元素可以为负数. 题解: 题目要求这个:l<=sum ...

  3. BZOJ 4627: [BeiJing2016]回转寿司 cdq

    4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 624  Solved: 273 [Submit][S ...

  4. P5459 [BJOI2016]回转寿司 (cdq分治)

    题目链接:点击这里 PS:之前这个题是用动态开点的权值线段树写的,后来看到有大佬有cdq分治解决了这个问题,于是来学习记录一下这种解法,以加深对cdq分治的理解 题目大意: 给定一个长度为 nnn 的 ...

  5. Bzoj4627 [BeiJing2016]回转寿司

    Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 329  Solved: 149 [Submit][Status][Discuss] Descript ...

  6. 【BZOJ4627】[BeiJing2016]回转寿司 SBT

    [BZOJ4627][BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿司带给小Z的味觉感 ...

  7. bzoj 4627: [BeiJing2016]回转寿司 -- 权值线段树

    4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec  Memory Limit: 256 MB Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店. ...

  8. BZOJ 4627: [BeiJing2016]回转寿司

    线段树裸题 #include<cstdio> using namespace std; int cnt,root,sz[10000005],ls[10000005],rs[10000005 ...

  9. bzoj 4627:[BeiJing2016]回转寿司

    算法:裸树状数组/裸线段树 难度:(NOIP-) 设s[i]为前缀和,差分,把序列和转化为前缀相减,即选出满足L≤s[x]−s[y]≤R的x>y的数个数.那么我们枚举x,即可得到y的范围,二分找 ...

最新文章

  1. 计算机桌面黑屏时间,电脑自动黑屏时间怎么调?
  2. AI到底如何改变教育?好未来重金押注AI的背后逻辑
  3. 记录idea maven项目打包部署web项目mapper扫描失败
  4. SAP CDS view里如何定义association
  5. java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
  6. 计算机指令执行与时序逻辑,时序逻辑系统
  7. 网络游戏中网络模块浅析
  8. linux xmind无法运行,linux安装xmind的方法步骤
  9. exchange2007开启反垃圾邮件功能
  10. aforge 相机标定_c# – Aforge.net相机捕获并将图像保存到目录
  11. 如何使用css3做简单的动画效果?
  12. redis创建集群,redis-trib.rb命令详解
  13. python 切片步长_python 索引+切片+步长
  14. 发展你的GDS的应用技术
  15. 论文浅尝 | 探索用于归纳型知识图谱补全的关系语义
  16. JS 计算时间差(月份差、天数差)
  17. windows7系统出现0x0000003B蓝屏故障的解决方法
  18. 面试:Hook框架Xposed、Dexposed、Epic原理
  19. MyEclipse字体修改
  20. C28x 中断上下文的保存和恢复

热门文章

  1. Unity手柄按键映射
  2. 放大器跟随的Rf加与不加
  3. 华为云桌面,如何让云上办公变得高效、安全?
  4. 【WPS如何设置二级联动 】
  5. 【极简版GH60】【GH60剖析】【二】原理图的分析
  6. linux 基础命令测试题,grep命令基础练习题
  7. 一台兼容计算机配置价格,完成一台计算机的配置。要求:1、写出配置单,包含品牌、型号和报价 2、写出配置...
  8. Linux | 项目自动化构建工具 - make/Makefile
  9. 最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
  10. prometheus-webhook-dingtalk-1.4.0无法找到targets