Codeforces Round 943 (Div. 3) D-G2
Codeforces Round 943 (Div. 3)
1968D-枚举
思路:
每个人走的位置最多会形成长度为n的环,所以直接枚举走到某个位置之后后面就不走了的所有情况的最大值,相互比较即可
点击查看代码

1968E-构造
题意:
设
思路:
在
1968F-枚举 二分
点击查看代码

题意:
如果一个数组可以分成大于等于2的连续子数组,每个连续子数组的异或和都相等,那么这个数组叫做好数组
给一个长度为n的数组,给出q个询问,每次询问给出L,R,问能否数组
思路:
要算连续子数组的异或和,考虑用前缀异或和维护,
对于
如果总的不为0,那分出的字段应该是奇数个,不可能为偶数个,如果为偶数个总的异或和应该为0。如果为奇数个那么三个段其实就够了,因为如果分的段数大于3是可以变成3段的,比如五个段TTTTT,对于中间三个T,合并之后异或和为T,就变成了TTT,考虑三个段的情况,设第一段的右端点为X,第二段的右端点为Y,则整个序列为
那么L<=X<Y<R,如何找到X,Y的位置? 对于2、3段来说,总异或和为0,也就是说
同理
点击查看代码

1968G1-z函数 二分
题意:
定义
思路:
z函数可以表示
点击查看代码

1968G2
思路:
考虑二分的过程,是向后一位一位找到>=mid的位置然后来划分,如果能处理所有等于>=mid的z值的下标再二分找则效率更高,那么对于当前的能分的段数cnt,
点击查看代码

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!