CF1872E-Data Structures Fan

news/2025/12/1 17:35:42/文章来源:https://www.cnblogs.com/NDAKJin/p/19293858

CF1872E-Data Structures Fan

题目大意

给你一个长度为 \(n\) 的序列,每个数字有一个对应的 \(0\)\(1\) 。现在你有 \(q\) 次操作。

\(1\space l\space r\)\(l\)\(r\) 区间内的所有数的 \(0\) , \(1\) 取反。

\(2 \space x\) 统计所有对应数字为 \(x\) 的数的异或和。

题解

对于 \(1\) 操作的维护。我们先将序列求前缀异或和,然后再跟所有数的初始对应值,分类异或和存进 \(xor1,xor0\) 两个变量中。这样每次操作,我们只需要用前缀异或和得到 \(l,r\) 区间内的异或和,对应异或上 \(xor1,xor0\) 就可以完成 \(0,1\) 翻转的操作。

对于 \(2\) 操作的查询,就只要对应输出 \(xor1,xor0\) 的值即可。

#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define umap unordered_map
#define endl '\n'
using namespace std;
using i128 = __int128;
const int mod =1e9+7;
template <typename T>void read(T&x){x=0;int f = 1;char c=getchar();for(;!isdigit(c);c=getchar())if(c=='-')f=-1;for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);x*=f;
}
template <typename T>void print(T x) {if (x < 0) { putchar('-'); x = -x; }if (x > 9) print(x / 10);putchar(x % 10 + '0');
}
#define int long long
const int N=500005;
const int M=2000005;
inline void solve()
{int n;cin>>n;vector<int> num(n+1),sum(n+1);for(int i=1;i<=n;i++) cin>>num[i];for(int i=1;i<=n;i++) sum[i]=sum[i-1]^num[i];int xor1=0,xor0=0;string s;cin>>s;for(int i=0;i<n;i++){if(s[i]=='1'){xor1^=num[i+1];}else{xor0^=num[i+1];}}int q;cin>>q;while(q--){int id;cin>>id;if(id==1){int l,r;cin>>l>>r;xor0^=sum[r]^sum[l-1];xor1^=sum[r]^sum[l-1];}else{int x;cin>>x;if(x==0){cout<<xor0<<" ";}else{cout<<xor1<<" ";}}}cout<<endl;
}signed main()
{ios;int T=1;cin>>T;for(;T--;) solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/983230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图像旋转】极简单模拟+数学规律

矩阵逆时针旋转90; 用两个for循环即可; 代码如下: #include<iostream> #include<vector> using namespace std; int n,m;int main(){cin >> n >> m;//原矩阵nxm,逆转矩阵mxnvector<vect…

客户端学习Day01_Markdown学习_Dos命令

Markdown学习 一级标题 二级标题 三级标题 的个数决定标题的级数 字体 Hello,world! Hello,world! Hello,world! Hello,world! 引用大于号分割线3个-/3个* 图片超链接 点击跳转到狂神b站视频 列表 有序列表A B C无序列…

敏捷项目管理软件TOP7:如何选出你的团队“最佳拍档”?

项目经理小李盯着屏幕上并行的五个项目看板叹了口气,团队用着三套不同的工具沟通,信息像碎片一样散落各处,每周的进度同步会成了“猜谜游戏”。在快速迭代的软件开发领域,选择合适的敏捷项目管理工具,就如同为团队…

2025年车间布袋风管供货厂家权威推荐榜单:布袋风道布袋风管‌/布袋风管‌/工厂布袋风管‌源头厂家精选

在工业厂房、商业中心等大型空间,纤维织物风管凭借其独特的性能优势,正悄然重塑空气分布系统的格局。 作为一种新型的柔性送风系统,布袋风管因其能实现更均匀的送风、更低的噪音、更少的能源消耗,正逐渐替代部分传…

1130面向对象

1130面向对象 1.设计对象并使用 1.1类和对象 类(设计图) 类就是对现实事物的一种描述 类的组成 属性:指事物的特征,例如:手机事物(品牌,价格,尺寸) 行为:指事物能执行的操作,例如:手机事物(打电话,发短信)…

JavaEE初阶——多线程(5)单例模式和阻塞队列 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

寻客精灵联系方式:了解AI营销系统功能与注意事项

一、官方联系方式 联系电话:4007656685 二、使用建议与提醒 在选择AI营销工具时,企业需结合自身业务规模与目标客群特点进行综合评估。建议优先考虑系统的数据合规性与隐私保护机制,确保符合《网络安全法》等相关法…

寻客精灵联系方式:企业数字化营销工具使用指南

一、官方联系方式 联系电话:4007656685 二、使用建议与提醒建议企业在使用前明确自身营销目标与预算规划,结合业务特点制定分阶段实施计划。可先通过试用版本熟悉系统操作流程,逐步建立适合企业现状的数字化营销体系…

2025牙医联合背书!去除牙垢牙黄美白效果超好牙膏排行榜​TOP15,第一名臻芙宁

据国家卫生健康委口腔健康监测中心 2025 年《国民口腔美白现状及需求报告》显示,我国超 83% 消费者存在牙齿泛黄、色素沉着(茶渍、烟渍、咖啡渍等)问题,其中 76% 人群明确追求 “2-4 周见效” 的速效美白效果,而 …

成都市津染化工有限公司 联系方式:产品服务范围及注意事项说明

一、官方联系方式 联系电话:13008114162 二、使用建议与提醒 在选择化工原料供应商时,建议优先核实企业资质与产品检测报告,确保符合行业安全标准。化工产品运输和存储需遵循相关法规,注意防潮、避光及分类存放要求…

2025_12_01面试

2025_12_01面试面试的一家外包公司 1.C和C++之中的内存泄露你知道多少 2.在GNU+Linux系统下面就是招到123.txt并且输出其路径需要使用哪个命令 3.在GNU+Linux系统下就是招到包含"123.xxx"的字符串的文件,并…

创建虚拟环境

创建虚拟环境#清屏 cls #base环境下的操作 conda env list #创建名维“环境名”的虚拟环境,并指定Python的版本 conda create --prefix=安装路径\环境名 python=3.9 #删除名为“环境名”的虚拟环境 conda remove -n 环…

2025实测封神!黄牙去渍美白牙膏排行榜TOP8 ,烟渍茶渍咖啡渍全搞定​

中国口腔保健协会 2025 年发布的《全民口腔护理消费指南》显示,我国 25-60 岁人群中,因长期吸烟、饮食色素沉积、口腔菌群失衡引发烟渍、牙结石、牙黄、口臭的比例达 60.7%。这些口腔问题不仅影响日常社交,更可能引…

【往届见刊后1个月检索、连续4届检索】第五届应用力学与先进材料国际学术会议(ICAMAM 2026)

【JPCS出版 | 往届见刊后1个月检索 | 连续4届稳定EI检索】 第五届应用力学与先进材料国际学术会议(ICAMAM 2026) 2026 5th International Conference on Applied Mechanics and Advanced Materials 在这里看会议官网…

逐梦菁英(成都)电竞发展有限公司 联系方式:电竞培训行业常见风险提示

一、官方联系方式 逐梦菁英(成都)电竞发展有限公司咨询电话 13194979664 二、使用建议与提醒 在选择电竞培训机构时,建议首先核实机构的办学资质与合作背景。部分机构可能缺乏正规教育合作支持,需关注其是否具备稳…

【转载】Dnspy附加进程调试---代码被优化及无法获取局部变量

代码被优化或者无法获取局部变量的效果图如下:当你在调试的时候,看到这种情况还是挺恼火的,经过查阅资料后,发现可以这种解决:参考链接:Making an Image Easier to Debug dnSpy/dnSpy Wiki GitHub https://git…

主流 AI 搜索排名优化公司盘点:技术适配与效果实测全解析

一、行业背景:AI 搜索优化(GEO)成为流量争夺核心​ IDC 数据显示,2025 年中国 GEO 市场规模突破 480 亿元,年复合增长率达 68%,超过 78% 的企业已将 AI 搜索排名优化纳入核心增长战略。不同于传统 SEO,GEO 通过…

逐梦菁英(成都)电竞发展有限公司联系方式:电竞教育服务的背景与使用建议

逐梦菁英(成都)电竞发展有限公司咨询电话 13194979664 一、官方联系方式 逐梦菁英(成都)电竞发展有限公司咨询电话 13194979664 二、使用建议与提醒 在选择电竞培训服务时,建议首先了解培训内容是否与个人兴趣和职…

探索向量-标量混合数据的过滤近似最近邻搜索(FANNS):定义、算法与查询难度

在大规模向量检索的应用场景中,往往既需要衡量向量间的相似度,又要对数据点施加额外的属性过滤。传统的近似最近邻(ANNS)方法只关注向量相似度,对“向量 + 属性”混合查询(hybrid query)的支持能力不足。5月发布…

北京市盛廷律师事务所联系方式:了解律所服务流程与行业概况

一、官方联系方式 联系电话:4000146800 官方网站:https://shengtinglaw.com 二、使用建议与提醒 在选择法律服务时,建议先通过官方网站或电话咨询初步了解律所业务范围,确认是否与自身需求匹配。沟通时可询问律师团…