A. Bit++
B. Painting Eggs
- 贪心,每个物品给使差值较小的那个人,根据题目的约数条件,可证明贪心的正确性。
C. XOR and OR
- \(,,00 \to 00,01 \to 11,11 \to 01\)
- 根据上述转换,只要至少存在一个1,则可以得到任意个数(不包括0)的1。全0时只能变成全0。
- 那么判断a、b两种情况即可。
D. Yet Another Number Game
- 当没有全减操作时,即相当于一个Nim游戏。
- 当n=1时,直接判断 \(a_1\) 是否为0即可。
- 当n=2时,DP或者套威佐夫博弈结论。
- 当n=3时,DP(比较慢)。可类似Nim博弈证明包括全减操作时结论与Nim博弈的结论一样,即证明\(sg(i,j,k) = 0\) 时,\(sg(i - x, j - x, k - x)\) 必不为0。
- \(sg(i,j,k) = 0\)时,\(i \oplus j \oplus k = 0\),考虑\(x\)二进制的最高位,若对应位置\(、、i、j、k\)的状态为\(011\),则显然减去\(x\)后,该位异或值不为0;若状态为\(000\),即最高位前移,同理异或值也不为0。
E. Sausage Maximization
- 问题相当于去掉中间一段区间,使得最后的异或值最大。
- \(val = all \oplus sxor(l,r) = all \oplus pre[r] \oplus pre[l - 1]\)
- 当固定右端点\(r\)后,即相当于找\(all \oplus pre[l - 1]\) 与\(pre[r]\)异或值最大,那么只要建棵字典树即可。