0%

loj#6274.数字

重点说一下与运算中的转移

考虑在当前位两数分别为 $\langle 1,0 \rangle$ 或 $ \langle 0,1 \rangle$

显然这两种选择的 $\And$ 与 $|$ 操作所得结果相同,由此可知会不同选择中有包含关系

从 $\langle 1,0 \rangle$ 与 $\langle 0,1 \rangle$ 所得情况等价入手

记 $\langle 1,0 \rangle$ 为情况 $S_1$ , 其中 $1$ 是第一个数的选择,$0$ 是第二个数字的选择 ,

$\langle 0,1 \rangle$ 为情况 $S_2$

由于 $S_2$ 中的 $0$ 可知,$S_1$ 选择 $1$ 取不到 $\max$,即无论后面的位如何取都取不到上界

同理,由于 $S_1$ 中的 $1$,$S_2$ 选择 $0$ 取不到 $\min$,即无法取到下界

  • 假设后面会有情况选择 $\langle 1,1 \rangle$,考虑到第二个数字取不到 $\max$ ,所以等同于选择了 $\langle 1,0 \rangle$

  • 假设后面会有情况选择 $\langle 0,1 \rangle$,考虑到第二个数字取不到 $\min$ ,所以等同于选择了 $\langle 1,1 \rangle$

所以对于与结果为 $0$ 的合法情况,取其结果的最大值即可

另一种 $dp$ 套 $dp$ 的解法参见另一篇博客