题目链接

  观察什么时候x到y之间那一段可以被统计

  xorsum[x-1]^xorsum[y]=k

  xorsum[x-1]=xorsum[y]^k||xorsum[y]=xorsum[x-1]^k

  莫队维护。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
#include<cstdlib>
#include<cmath>
#define maxn 200200
using namespace std;
inline long long read(){
long long num=,f=;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') f=-;
ch=getchar();
}
while(isdigit(ch)){
num=num*+ch-'';
ch=getchar();
}
return num*f;
} int blo[maxn];
int xum[maxn];
int sum[maxn];
long long ans[maxn]; struct Que{
int x,y,id;
bool operator <(const Que a)const{
if(blo[x]!=blo[a.x]) return blo[x]<blo[a.x];
return y<a.y;
}
}q[maxn]; int main(){
int n=read(),m=read(),e=read();
int sqt=sqrt(n);
for(int i=;i<=n;++i) blo[i]=(i-)/sqt+;
for(int i=;i<=n;++i) xum[i]=xum[i-]^read();
for(int i=;i<=m;++i) q[i]=(Que){read(),read(),i};
sort(q+,q+m+);
int lef=,rig=;long long now=;
for(int i=;i<=m;++i){
while(lef<q[i].x-){
sum[xum[lef]]--;
now-=sum[xum[lef]^e];
lef++;
}
while(lef>q[i].x-){
lef--;
now+=sum[xum[lef]^e];
sum[xum[lef]]++;
}
while(rig<q[i].y){
rig++;
now+=sum[xum[rig]^e];
sum[xum[rig]]++;
}
while(rig>q[i].y){
sum[xum[rig]]--;
now-=sum[xum[rig]^e];
rig--;
}
ans[q[i].id]=now;
}
for(int i=;i<=m;++i) printf("%lld\n",ans[i]);
return ;
}

最新文章

  1. Windows 7 上安装Visual Studio 2015 失败解决方案
  2. 实践总结 - 不可错过的Angular应用技巧
  3. Arraylist Vector Linkedlist区别和用法 (转)
  4. 退役?OR 继续
  5. 关于软件测试人员能力模型的建立(from知乎)
  6. 强大的代码生成工具MyGeneration
  7. Universal-Image-Loader 基本使用
  8. connectionStrings基本配置
  9. 聊一聊PV和并发、以及计算web服务器的数量的方法【转】
  10. WPF 杂谈——Trigger触发器
  11. 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析
  12. ip2long的用法
  13. AWK读书笔记
  14. SQL中内连接和外连接的问题!
  15. Eclipse 查看 WebService 服务请求和响应消息
  16. Orange——开源机器学习交互式数据分析工具
  17. Android:XML简介 &amp; 解析方式对比(DOM、SAX、PULL)
  18. 拯救安卓手机的数据(无法进入系统只能打开recovery)
  19. Window应急响应(一):FTP暴力破解
  20. 基于接口回调详解JUC中Callable和FutureTask实现原理

热门文章

  1. SPOJ - MATSUM Matrix Summation---二维树状数组
  2. hdu-1317 XYZZY---Floyd判连通+bellman最短路
  3. javaweb基础(34)_jdbc处理mysql大数据
  4. 在DOS界面下快速进入目录的技巧
  5. Bootstrap 提示工具(Tooltip)插件的事件
  6. C#继承机制 继承与访问修饰符
  7. MySql学习笔记01
  8. dynamic routing between captual
  9. composer 类加载器,对 &lt;PSR-4的风格&gt;、&lt;PSR-0的风格&gt;、&lt;PEAR的风格&gt; 风格的类的加载
  10. 格雷码Gray Code详解