编程题
### 问题描述 松松有一个数列 $a_1, a_2, \dots, a_n$,每个 $a_i$ 都是小于 $2^m$ 的非负整数。 现在请您实现三种操作,格式说明如下: - $1$ $x$ $y$ $w$:对于所有 $x \leq i \leq y$,将 $a_i$ 修改为 $a_i \oplus w$。其中 $w$ 是一个小于 $2^m$ 的非负整数。 - $2$ $x$ $y$ $w$:对于所有 $x \leq i \leq y$,将 $a_i$ 修改为 $w$。其中 $w$ 是一个小于 $2^m$ 的非负整数。 - $3$:从 $a_1, a_2, \dots, a_n$ 中选出若干个数,使得选出的数异或和最大。请输出这个最大值。 这里 $\oplus$ 表示按位异或运算,$x_1, x_2, \dots, x_l$ 的异或和是指 $x_1 \oplus x_2 \oplus \dots \oplus x_l$。 ### 输入格式 第一行三个正整数 $n, m, q$。 接下来 $n$ 行为初始时 $a_1, a_2, \dots, a_n$ 的值。 接下来 $q$ 行,每行表示一个操作。操作的格式如前所述。保证 $1 \leq x \leq y \leq n$。 $a_1, \dots, a_n$ 和 $w$ 均用恰好 $m$ 位的 $01$ 串表示这个数的二进制表示。左边是最高位,右边是最低位,不足 $m$ 位的在左边补 $0$。 ### 输出格式 对于每个 $3$ 号操作,输出一个 $m$ 位 $01$ 串表示答案的二进制表示。 ### 样例输入 ``` 3 4 7 0000 0011 0110 3 1 2 3 0010 3 2 1 2 0010 3 2 1 3 0000 3 ``` ### 样例输出 ``` 0110 0101 0110 0000 ``` ### 评测数据规模 $1 \leq n, m, q \leq 200$。
查看答案
赣ICP备20007335号-2