#B4372. [GXPC-S 2025] 异或之力 / xor
[GXPC-S 2025] 异或之力 / xor
题目背景
题目来源:2025 年广西中小学生程序设计挑战赛复赛(进阶组试题)。
题目描述
传说中,只有能够将力量完美分解的勇者,才能获得王国中最强大的能量 —— 异或之力。
对于每一个 01 字符串都含有一定异或之力。假设某个 01 字符串所代表的十进制数为 ,当 时异或之力为 ;当 时,将 分解成任意两个正整数 和 (,,),得到 异或 的最大值为 ,异或最小值为 ,异或之力即为 和 的差值。
作为王国的继承者,你被赋予了一个正整数 。你的任务是寻找所有长度为 的 01 字符串(注意:字符串可含前导零,即 是合法的,与 相同都代表着数字 3)中,最大异或之力是多少。这个数可能很大,请输出其对 取模之后的结果。
异或运算():对于两个二进制数的每一位,如果相同则为 ,不同则为 。例如,,。
输入格式
一行包含一个正整数 ,表示字符串的长度。
输出格式
一个整数,表示最大异或之力对 取模之后的结果。
3
6
提示
样例解释
长度为 3 的 01 字符有 111、110、101、100、011、010、001、000。
对于 也就是 6 来说,当分解成 4 和 2 时取得异或最大值 6,当分解成 3 和 3 时取得最小异或值 0。没有其他情况使得最大与最小异或值差大于 6,故答案为 6。
数据范围
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,。