CF1083F The Fair Nut and Amusing Xor

cxqghzj·2024-06-21 16:50·7 次阅读

CF1083F The Fair Nut and Amusing Xor

题意#

给定两个长度为 n 的数列 a,b,规定每次操作为选取一段长度为 k 的子段异或上任意自然数。

对于每次查询,先单点修改 ab,你需要求出最小的操作次数,或无法使得 a 在若干次操作后变为 b

n2×105

Sol#

差个分先,区间异或变为 ii+k 异或。

套路的,对于 modk 分组,拉出来 k 条链,问题转化为对于每条链,相邻两个数同时异或 x,使得数列全部变为 0

然后你不难发现,无解情况就是每条链地前缀异或最后不为 0

显然直接从前往后就是最优策略,而操作次数就是 n 减去前缀异或值为 0 的个数。

直接上个分块,O(nn) 做完了。

posted @   cxqghzj  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示
目录