当前位置: 首页 > ds >正文

异或和查询

题目描述:


给定一个包含 n 个整数的数组,你的任务是处理 q 个查询,每个查询的形式为:计算区间 [a,b] 内所有元素的异或和是多少?

输入:


第一行输入两个整数 n 和 q:分别表示数组元素的数量和查询的数量。
第二行有 n 个整数 x1,x2,...,xn:表示数组的元素。
接下来有 q 行,每行描述一个查询,包含两个整数 a 和 b:表示查询区间 [a,b] 的异或和。

约束条件:
1 ≤ n,q ≤ 2*105
1 ≤ x_i ≤ 109
1 ≤ a ≤ b ≤ n

输出:


输出每个查询的结果。

样例输入:


8 4
3 2 4 5 1 1 5 3
2 4
5 6
1 8
3 3

样例输出:


3
0
6
4

x ^ x = 0

x ^ 0 = x

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;int n,q,x[N]{0};int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin>>n>>q;for(int i=1;i<=n;++i){cin>>x[i];x[i]=x[i-1]^x[i];}while(q--){int a,b;cin>>a>>b;cout<<(x[b]^x[a-1])<<'\n';}return 0;
}

http://www.xdnf.cn/news/17803.html

相关文章:

  • echarts配置项详细解释
  • C99中的变长数组(VLA)
  • THCV215一种高速视频数据收发器,采用低电压差分信号(LVDS)技术支持高速串行数据传输,支持1080p/60Hz高分辨率传输
  • 计算机网络---默认网关(Default Gateway)
  • C++ Rust与Go
  • Vue接口平台小功能——发送报告到飞书
  • 计算机网络摘星题库800题笔记 第4章 网络层
  • nurbs曲线的matlab
  • 10. React组件间的通信
  • 数据分析基本内容(第二十节课内容总结)
  • Milvus入门:开源向量数据库,解锁大模型时代的高效检索
  • kafka初步介绍
  • 不废话,UE5极速云渲染操作方法
  • STM32_bug总结(TIM定时中断进不去和只进1次)
  • MyBatis持久层实现
  • 全面解析MySQL(5)——“索引、事务、JDBC”三大核心
  • PostgreSQL——数据查询
  • 【K8s】部署安装K8s为什么要关闭swap分区?
  • Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径
  • 元宇宙虚拟金融服务全景解析:技术创新、场景重构与未来趋势
  • 一体化步进伺服电机在无人机舱门应用中的应用案例
  • 使用Gradle手搓一个Kotlin/Native项目
  • CMU-15445(9)——PROJECT#3-Query Execution-Task#2Task#3
  • 机器学习-决策树(上)
  • TDengine 可观测性最佳实践
  • Nginx反向代理功能
  • 微前端架构:原理、场景与实践案例
  • 扫雷 (minesweeper)
  • 从0-1搭建webpack的前端工程化项目
  • 【前端基础】15、列表元素、表格元素、表单元素(注:极其粗略的记载。)