专栏文章
题解:CF2160C Reverse XOR
CF2160C题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minm4wvn
- 此快照首次捕获于
- 2025/12/02 04:39 3 个月前
- 此快照最后确认于
- 2025/12/02 04:39 3 个月前
题解:CF2160C Reverse XOR
题目分析
题意易懂,这里不再赘述。
以下对于字符串的描述,下标均以 开始。
简单分析一下:
对于由数字 转换而来的 串 ,第 位的数字翻转后将会对应到第 位,其中 指字符串 的长度。相反地,第 位的数字在翻转后将会对应到第 位。
由此我们可以得出结论:对于由数字 转换而来的 串 ,第 位的值必须要和第 位相等(也就是说, 是一个回文串),否则 不成立。
由异或的性质可得,如果异或值为 ,那么这一位上的两个数相等。不难发现,对于 的每一个后缀零,我们在 的前方添加前导零,是不会影响正确性的判断的。
这一部分可能有点难懂,举个例子:对于 ,它的二进制表示是这样的:
最后,如果补充完前导零后的 为一个奇数,那么第 位(即中间位)应当为 。因为此时,翻转前和翻转后的第 位的值一定相等,所以异或值一定为 。
以下对于字符串的描述,下标均以 开始。
简单分析一下:
对于由数字 转换而来的 串 ,第 位的数字翻转后将会对应到第 位,其中 指字符串 的长度。相反地,第 位的数字在翻转后将会对应到第 位。
由此我们可以得出结论:对于由数字 转换而来的 串 ,第 位的值必须要和第 位相等(也就是说, 是一个回文串),否则 不成立。
由异或的性质可得,如果异或值为 ,那么这一位上的两个数相等。不难发现,对于 的每一个后缀零,我们在 的前方添加前导零,是不会影响正确性的判断的。
这一部分可能有点难懂,举个例子:对于 ,它的二进制表示是这样的:
11。不难发现,当 时,有 。随后,我们在 11 前后各添加一个 0,变为 0110,即十进制数 。可以发现,只需要在 的二进制表示 前后各添加一个相同的数,异或串的前后就会各多出一个 0,满足我们之前在串前后增加的 0。最后,如果补充完前导零后的 为一个奇数,那么第 位(即中间位)应当为 。因为此时,翻转前和翻转后的第 位的值一定相等,所以异或值一定为 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...