P12420 【MX-X12-T3】「ALFR Round 5」变换
题目背景
原题链接:。
题目描述
本题有 $T$ 组测试数据。
有一个长度为 $n$ 的非负整数序列 $a$ 和两个参数 $m,k$。
你可以对序列 $a$ 进行任意次数的操作,对于每次操作,你都需要:
- 选取一个非负整数 $x$ 使得 $x \ \& \ m = x$,选取一个下标 $i \in [1,n]$,将 $a_i \gets a_i \ | \ x$,然后你需要将 $m \gets m - x$ 或者花费 $k$ 的代价使得 $m$ 不变。
记你花费的代价为 $s$,你需要求出 $(\oplus_{i=1}^{n} a_i) - s$ 的最大值。
其中 $|$ 代表按位或运算,$\&$ 表示按位与运算,$\oplus$ 表示按位异或运算。
输入格式
无
输出格式
无
说明/提示
**【样例解释 #1】**
进行操作 $i = 1$,$x = 2$,然后将 $a_1 \gets a_1 \ | \ 2$,然后选择花费 $k = 0$ 的代价将 $m$ 不变,在此之后 $m = 2$,容易发现之后的所有操作不会将答案变大,因此最大值为 $a_1 - s = 3 - 0 = 3$。
**【数据范围】**
**本题使用捆绑测试。**
对于 $100\%$ 的数据,$1 \le T \le 10^6$,$1 \le n,\sum n \le 10^6$,$0 \le a_i,m,k \le 10^9$。
| 子任务编号 | $n \le$ | $m \le$ | $k \le$ | $a_i \le$ | 特殊性质 | 分值 |
| :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: |
| $1$ | $1$ | $10^9$ | $10^9$ | $10^9$ | 无 | $11$ |
| $2$ | $10^6$ | $0$ | $10^9$ | $10^9$ | 无 | $7$ |
| $3$ | $10^6$ | $10^9$ | $0$ | $10^9$ | 无 | $17$ |
| $4$ | $10^6$ | $10^9$ | $10^9$ | $0$ | 无 | $12$ |
| $5$ | $10$ | $10^6$ | $10^6$ | $10^6$ | $T = 1$ | $13$ |
| $6$ | $10^3$ | $10^6$ | $10^6$ | $10^6$ | $T = 1$ | $17$ |
| $7$ | $10^6$ | $10^9$ | $10^9$ | $10^9$ | 无 | $23$ |