Pjudge #21680. 【PER #3】运算符 2
一道很有教育意义的题目。
首先我们有众所周知的 AND 卷积和 XOR 卷积,容易证明不同位互不干扰,拼起来可以获得 \(1+4+5\) 分的高分!
接下来我们按照 \(1\) 的个数来讨论:
- \(0\) 个 \(1\) :将这一位赋值为 \(0\) 即可。
- \(1\) 个 \(1\):如果形如
0001那么就和 AND 卷积是一样的,那如果0010呢?很简单啊,将第二个串的这一位反转就行!于是我们可以通过对第一个串和第二个串的反转来调整到0001,然后 AND 卷积即可。 - \(2\) 个 \(1\):如果形如
0110那么和 XOR 卷积是一样的,那如果1001呢?简单!两边任意反转一个就行。但如果是0011呢?观察发现是 \(A\) 中这一位是什么就还是什么,\(B\) 中对两边都有贡献,那么 \(A\) 就不做处理, \(B\) 将两个值变成两个的和即可。0101和0011是对称的。 - \(3\) 个 \(1\) 以及 \(4\) 个 \(1\):和 \(0\) 个 \(1\) 以及 \(1\) 个 \(1\) 是对称的。
因此 \(16\) 种组合都是可做的,这也相当于一个 FWT 全家桶了!

浙公网安备 33010602011771号