【分块】BZOJ4216 Pig
来源:互联网 发布:双拼域名交易 编辑:程序博客网 时间:2024/06/13 21:41
题面在这里
典型的分块题……
没什么好说的,直接分块搞就好了
示例程序:
#include<cstdio>#include<cmath>#include<algorithm>#define _abs(x) ((x)<0?-(x):(x))#define LL long longusing namespace std;const int maxn=500005;int n,q,t,a[maxn],blk;LL sum[710];int main(){ scanf("%d%d%d",&n,&q,&t); blk=sqrt(n); for (int i=1;i<=n;i++) scanf("%d",&a[i]),sum[i/blk]+=a[i]; LL lastans=0; for (int i=1;i<=q;i++){ int l,r;scanf("%d%d",&l,&r); if (t==1){ l=(l^_abs(lastans))%n+1; r=(r^_abs(lastans))%n+1; if (l>r) swap(l,r); } int bl=l/blk,br=r/blk;LL ans=0; if (bl==br){ for (int j=l;j<=r;j++) ans+=a[j]; }else{ for (int j=l,tj=(bl+1)*blk;j<tj;j++) ans+=a[j]; for (int j=br*blk;j<=r;j++) ans+=a[j]; for (int j=bl+1;j<br;j++) ans+=sum[j]; } printf("%lld\n",ans);lastans=ans; } return 0;}
阅读全文
2 0
- [BZOJ4216]Pig(分块)
- 【分块】BZOJ4216 Pig
- 【BZOJ4216】Pig
- bzoj4216: Pig
- BZOJ4216【Pig】
- BZOJ4216 Pig 解题报告【卡空间】【数据结构】【分块】
- bzoj4216 -- 分块
- 【bzoj4216】 Pig 乱搞
- BZOJ 4216: Pig 分块
- BZOJ 4216 Pig 分块乱搞
- bzoj 4216: Pig (分块)
- bzoj 4216: Pig (分块)
- [分块]BZOJ 4216——Pig
- pig
- pig
- Pig
- Pig
- Pig
- js如何判断一个对象是不是Array?
- 导入IJ的APP项目报AndroidLocationException
- hdu 3791 二叉搜索树
- 深度学习神经网络纯C语言基础版
- ppdvmnoluwoonfu
- 【分块】BZOJ4216 Pig
- java集合思维导图
- 8.7 小游戏game 2534
- Hibernate学习之---SQL查询
- String之split
- 本地开发HTML如何引入JS和CSS?action要学sevlet最好不要全局变量?
- 端口号被占用的问题之一
- Angular之jqLite的使用说明
- 一张图理解Android中的各种存储