CF1174D Ehab and the Expected XOR Problem
题目描述
给定两个整数 $n$ 和 $x$,请构造一个满足以下条件的数组:
- 对于数组中的任意元素 $a_i$,有 $1 \le a_i < 2^n$;
- 不存在非空子段,其按位异或值等于 $0$ 或 $x$;
- 使数组的长度 $l$ 最大。
如果序列 $b$ 可以通过从序列 $a$ 的开头删除若干(可能为零或全部)元素,并从末尾删除若干(可能为零或全部)元素得到,则称 $b$ 是 $a$ 的一个子段。
输入格式
一行包含两个整数 $n$ 和 $x$($1 \le n \le 18$,$1 \le x < 2^{18}$)。
输出格式
第一行输出数组的长度 $l$。
如果 $l$ 为正数,第二行输出 $l$ 个用空格分隔的整数 $a_1, a_2, \dots, a_l$($1 \le a_i < 2^n$),表示数组 $a$ 的元素。
如果有多组解,输出任意一组均可。
说明/提示
在第一个样例中,所有子段的异或值为 $\{6,7,4,1,2,3\}$。
由 ChatGPT 4.1 翻译