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

打卡信奥刷题(3006)用C++实现信奥题 P6225 [eJOI 2019] 异或橙子

P6225 [eJOI 2019] 异或橙子

题目描述

Janez 喜欢橙子!他制造了一个橙子扫描仪,但是这个扫描仪对于扫描的每个橙子的图像只能输出一个32 3232位整数。

他一共扫描了n nn个橙子,但有时他也会重新扫描一个橙子,导致这个橙子的32 3232位整数发生更新。

Janez 想要分析这些橙子,他觉得异或操作非常有趣,他每次选取一个区间从l llu uu,他想要得到这个区间内所有子区间的异或和的异或和。

例如l = 2 , u = 4 l=2,u=4l=2,u=4的情况,记橙子序列A AA中第i ii个橙子的整数是a i a_iai,那么他要求的就是:

a 2 ⊕ a 3 ⊕ a 4 ⊕ ( a 2 ⊕ a 3 ) ⊕ ( a 3 ⊕ a 4 ) ⊕ ( a 2 ⊕ a 3 ⊕ a 4 ) a_2 \oplus a_3 \oplus a_4 \oplus (a_2\oplus a_3)\oplus(a_3\oplus a_4)\oplus(a_2\oplus a_3 \oplus a_4)a2a3a4(a2a3)(a3a4)(a2a3a4)


注:式子中的⊕ \oplus代表按位异或运算。异或的运算规则如下。

对于两个数的第i ii位,记为x , y x,yx,y,那么:

x xxy yyx ⊕ y x\oplus yxy
0 001 111 11
1 110 001 11
0 000 000 00
1 111 110 00

例:13 ⊕ 23 = 26 13\oplus 23=261323=26

13 = 13=13=0 ⋯ 001101 0\cdots 0011010001101
23 = 23=23=0 ⋯ 010111 0\cdots 0101110010111
13 ⊕ 23 = 13\oplus 23=1323=0 ⋯ 011010 0\cdots 0110100011010

输入格式

第一行输入两个正整数n , q n,qn,q,表示橙子数量和操作次数。

接下来一行n nn个非负整数,表示每个橙子扫描得到的数值 ,从1 11开始编号。

接下来q qq行,每行三个数:

  • 如果第一个数是1 11,接下来输入一个正整数i ii与非负整数j jj,表示将第i ii个橙子的扫描值a i a_iai修改为j jj

  • 如果第一个数是2 22,接下来输入两个正整数u , l u,lu,l表示询问这个区间的答案。

输出格式

对于每组询问,输出一行一个非负整数,表示所求的总异或和。

输入输出样例 #1

输入 #1

3 3 1 2 3 2 1 3 1 1 3 2 1 3

输出 #1

2 0

输入输出样例 #2

输入 #2

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

输出 #2

2 5 4 4

说明/提示

输入输出样例 1 解释
  • 最初,A = [ 1 , 2 , 3 ] A=[1,2,3]A=[1,2,3],询问结果为1 ⊕ 2 ⊕ 3 ⊕ ( 1 ⊕ 2 ) ⊕ ( 2 ⊕ 3 ) ⊕ ( 1 ⊕ 2 ⊕ 3 ) = 2 1\oplus 2\oplus 3\oplus(1\oplus 2)\oplus (2\oplus 3)\oplus(1\oplus 2\oplus 3)=2123(12)(23)(123)=2

  • 修改后,第一个位置被修改为3 33,询问的结果是3 ⊕ 2 ⊕ 3 ⊕ ( 3 ⊕ 2 ) ⊕ ( 2 ⊕ 3 ) ⊕ ( 3 ⊕ 2 ⊕ 3 ) = 0 3\oplus 2\oplus 3\oplus(3\oplus 2)\oplus (2\oplus 3)\oplus(3\oplus 2\oplus 3)=0323(32)(23)(323)=0


数据规模与约定:

本题采用多测试点捆绑测试,共有 5 个子任务

  • Subtask 1(12 points):1 ≤ n , q ≤ 10 2 1\le n,q\le 10^21n,q102,无特殊限制
  • Subtask 2(18 points):1 ≤ n , q ≤ 5 × 10 2 1\le n,q\le 5\times 10^21n,q5×102,且没有修改操作。
  • Subtask 3(25 points):1 ≤ n , q ≤ 5 × 10 3 1\le n,q\le 5\times 10^31n,q5×103,无特殊限制
  • Subtask 4(20 points):1 ≤ n , q ≤ 2 × 10 5 1\le n,q\le 2\times 10^51n,q2×105,且没有修改操作。
  • Subtask 5(25 points):1 ≤ n , q ≤ 2 × 10 5 1\le n,q\le 2\times 10^51n,q2×105,无特殊限制

对于所有数据,0 ≤ a i ≤ 10 9 , 1 ≤ n , q ≤ 2 × 10 5 0\le a_i\le 10^9,1\le n,q\le 2\times 10^50ai109,1n,q2×105


说明

原题来自:eJOI2019 Problem A. XORanges

题面&数据来自:LibreOJ

C++实现

#include<cstdio>usingnamespacestd;constintN=2e5+5;intn,q,a[N];#definelowbit(x)(x&(-x))structbit{intdat[N];inlinevoidupdate(intx,intp){for(;p<=n;p+=lowbit(p))dat[p]^=x;}inlineintxor_sum(intp){intx=0;for(;p;p-=lowbit(p))x^=dat[p];returnx;}};#undeflowbitbit tree[2];signedmain(){scanf("%d%d",&n,&q);for(registerinti=1;i<=n;i++)scanf("%d",a+i),tree[i&1].update(a[i],i);while(q--){intopt,x,y;scanf("%d%d%d",&opt,&x,&y);if(opt==1)tree[x&1].update(a[x]^y,x),a[x]=y;else{if((x+y)&1)printf("0\n");elseprintf("%d\n",tree[x&1].xor_sum(y)^tree[x&1].xor_sum(x-1));}}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/530431/

相关文章:

  • 激光雕刻机未来几年,年复合增长率(CAGR)高达12.9%
  • GME-Qwen2-VL-2B-Instruct实操手册:电商详情页首图与卖点文案语义一致性检测
  • AppleRa1n:iOS 15-16设备iCloud激活锁一键绕过工具,让解锁更简单
  • Icarus Verilog仿真器完整指南:从零开始的数字电路设计终极教程
  • 圣女司幼幽-造相Z-Turbo入门必读:从CSDN博客获取文档、镜像与问题支持全链路
  • 告别混乱代码!Arduino IDE多文件开发避坑指南(从ino到h/cpp的平滑迁移)
  • Onekey:Steam Depot清单自动化获取的一站式解决方案
  • Fish-Speech-1.5实时语音合成展示:对话系统的流畅交互体验
  • BM25S4021-1 TDS水质传感器嵌入式驱动开发指南
  • 2026年评价高的反光膜公司推荐:包装袋/反光膜/塑料膜/塑料袋/大棚膜/气泡膜/气泡袋/珍珠棉定位/缠绕膜/选择指南 - 优质品牌商家
  • Icalingua++插件开发终极指南:打造专属聊天功能
  • NVIDIA DIGITS终极指南:如何快速构建深度学习视觉训练系统 [特殊字符]
  • Axure RP界面异常深度修复指南:从问题诊断到系统化解法
  • 从点云到3D框:CenterPoint实战教程(附Waymo数据集测试结果)
  • Android多选下拉框的终极解决方案:告别传统Spinner的局限
  • 3步解锁惠普游戏本潜能:OmenSuperHub开源控制工具全解析
  • 20254121 2025-2026-2 《Python程序设计》实验1报告
  • 华硕笔记本性能调优利器:GHelper从入门到精通指南
  • 2026带式干燥机优质品牌推荐指南:喷雾干燥机、喷雾烘干机、回转窑烘干机、工业滚筒烘干机、带式干燥机、旋转闪蒸烘干机选择指南 - 优质品牌商家
  • PacketFence实战指南:企业级网络准入控制完整解决方案
  • 答辩 PPT 不用熬!PaperXie AI PPT:让毕业生从「熬夜赶稿」到「从容上场」
  • LangGraph实战:从零构建一个具备状态记忆的智能对话机器人
  • 非洲猪瘟PCR快速检测仪
  • G-Helper终极指南:华硕笔记本性能优化的轻量级解决方案
  • 2026年3月口碑好的天津钢板租赁厂家选择指南:钢板、钢板桩、井盖出租、拉森桩出租、铺路钢板出租租赁、井盖板租赁厂家 - 海棠依旧大
  • 答辩前 72 小时急救:Paperxie AI PPT 如何帮本科生搞定专业答辩演示
  • AE后期处理流水线:对Qwen-Image-Edit-F2P生成视频进行片段精修
  • 3步掌握PyEMD:从信号分解到时频分析的完整指南
  • Excel数据合并神器:Power Query动态追加查询的完整配置流程(附常见问题解决)
  • 第一次实验作业