CF1493E Enormous XOR
题目描述
给定两个以二进制表示的整数 $l$ 和 $r$。令 $g(x, y)$ 表示从 $x$ 到 $y$(包括 $x$ 和 $y$)所有整数的按位异或(即 $x \oplus (x+1) \oplus \dots \oplus (y-1) \oplus y$)。定义 $f(l, r)$ 为所有满足 $l \le x \le y \le r$ 的 $g(x, y)$ 的最大值。
请输出 $f(l, r)$。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^6$),表示 $r$ 的二进制表示的长度。
第二行包含 $l$ 的二进制表示——一个长度为 $n$ 的仅由 $0$ 和 $1$ 组成的字符串($0 \le l < 2^n$)。
第三行包含 $r$ 的二进制表示——一个长度为 $n$ 的仅由 $0$ 和 $1$ 组成的字符串($0 \le r < 2^n$)。
保证 $l \le r$。$r$ 的二进制表示不包含多余的前导零(如果 $r=0$,其二进制表示为单个零)。$l$ 的二进制表示会补前导零,使其长度等于 $n$。
输出格式
输出一行,表示给定 $l$ 和 $r$ 时 $f(l, r)$ 的值,要求以二进制表示且不含多余的前导零。
说明/提示
在样例测试中,$l=19$,$r=122$。$f(x, y)$ 的最大值为 $127$,例如当 $x=27$,$y=100$ 时可以取得。
由 ChatGPT 4.1 翻译