题意:链接

方法:分块以节约空间。

解析:

这题坑的地方就是他只有3M的内存限制,如果我们开longlong前缀和是必死的。

所以考虑缩小这个long long数组的大小。

然后想到分块

不妨以15为大小进行分块,其实不T再大一点也行,但是算内存的话15是差不多的吧。

然后记录每个块内的和,然后询问的时候整块直接拿,非整块暴力枚举,顶多30个点。

所以时间上能过,然后内存上也就2.6MB左右,可以过。

但是有个问题啊,千万别打using namespace std;

这个运行自动申请700kb内存,太坑辣!

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 500005
#define M 33335
#define K 16
typedef long long ll;
int a[N];
ll sum[M];
int n,m,jd,blockl,blockr,cntblock,l,r;
ll ans;
void calc(int l,int r)
{blockl=l>>4;blockr=r>>4;ans+=sum[blockr-1]-sum[blockl];for(int i=l;i>>4==blockl&&i>0&&i<=n;i++){ans+=a[i];}for(int i=r;i>>4==blockr&&i>0&&i<=n;i--){ans+=a[i];}
}
int main()
{scanf("%d%d%d",&n,&m,&jd);for(int i=1;i<=n;i++){scanf("%d",&a[i]);sum[i>>4]+=a[i];}cntblock=n>>4;for(int i=1;i<=cntblock;i++)sum[i]+=sum[i-1];for(int i=1;i<=m;i++){if(ans<0)ans=-ans;scanf("%d%d",&l,&r);if(jd){l=(l^ans)%n+1;r=(r^ans)%n+1;if(l>r)l^=r^=l^=r;}ans=0;calc(l,r);printf("%lld\n",ans);}
}

BZOJ 4216 Pig 分块乱搞相关推荐

  1. 【BZOJ4035】数组游戏,博弈论+分块乱搞

    传送门 思路: 起初思路挺好,后来就比较奇怪的一道题目 玩法很像SDOI2016R2的硬币游戏,不过那个题目直接暴力SG就可以过,本题直接套规则只有30分: 稍微优化一下,不枚举k,直接每次xor一下 ...

  2. bzoj 2217 [Poi2011]Lollipop 乱搞 贪心

    2217: [Poi2011]Lollipop Time Limit: 15 Sec  Memory Limit: 64 MBSec  Special Judge Submit: 383  Solve ...

  3. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  4. 【BZOJ】 2049 SDOI洞穴探险 【乱搞】

    不知怎么回事我的电脑上BZOJ挂了,鞠大神的oj也挂了..... 本来要用LCT,但书上说乱搞就不T,我之前却T了,于是我感叹BZOJ数据质量真好...然后就没有然后了 直到今天我又看到一个神犇说,乱 ...

  5. Bzoj 1926: [Sdoi2010]粟粟的书架(二分答案+乱搞+主席树)

    1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Sec Memory Limit: 552 MB Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱 ...

  6. BZOJ 1124 [POI2008]枪战Maf 贪心+乱搞

    题意:略. 方法:贪心+乱搞. 解析: 今天做的题里面最难的了- 分连通块进行考虑. 一个连通块最多死多少呢? 一个点 -> 死一个 一个环 -> 死环上点个数-1个 一个环加上内向树 - ...

  7. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

    3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 367  Solved: 159 [Submit][Status ...

  8. BZOJ4401:块的计数(乱搞)

    Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构--块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...

  9. hash进阶:使用字符串hash乱搞的姿势

    前言 此文主要介绍hash的各种乱搞方法,hash入门请参照我之前这篇文章 不好意思hash真的可以为所欲为 在开头先放一下题表(其实就是我题解中的hash题目qwq) 查询子串hash值 必备的入门 ...

最新文章

  1. linux打开应用程序的命令,Windows环境下如何通过命令打开程序!
  2. mysql 体系结构不匹配_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配...
  3. ECCV 2020 亮点摘要(上)
  4. python 完全面向对象_Python面向对象
  5. css 的小细节,小总结
  6. EasyExcel(笔记)
  7. 数据结构树4-二叉搜索树2
  8. C++ 名字空间详解
  9. java运行时异常的特点是什么_java异常详解
  10. 大道至简——第二章读后感
  11. mysql8.0和phpmyadmin_MySQL 8.0上的phpMyAdmin?mysql-问答-阿里云开发者社区-阿里云
  12. web前端开发技术的优化策略
  13. au计算机内录音乐,win10 audition怎么内录_win10 audition如何录制声音
  14. ZZNU-正约数之和(DP)
  15. 记第一次实战靶场的经验
  16. 自然语言生成之n-gram
  17. java 树结构_Java通用tree树形结构
  18. 数据结构翻转课堂答疑实录——概述
  19. Java创建图片并绘图
  20. Python Pandas读取文件

热门文章

  1. java list集合包含_Java 中的集合类包括 ArrayList 、 Linke
  2. Rocket Pool 、InfStones 、Lido 三种质押服务浅析
  3. 转:浅谈程序员的英语学习
  4. ios客户端请求数据加密方式
  5. ios客户端开源的项目
  6. Liferay自定义主题
  7. CentOS自定义安装光盘制作-kickstart用cdrom做源
  8. python设计模式篇3---创建型模式
  9. IT男着装bug修复,下一个业界男神就是你!
  10. OWA附件隐藏excle格式下载按钮