这道题的暴力做法是枚举所有的字串 求异或和,再总求和
更好的解法,关于异或,更好的解法就是 弄清楚异或的本质 异或的本质其实是 对每一个数的二进制位进行异或,于是我们维护 一个二进制异或和的表,然后从前到后依次推进。 异或和表是什么呢? xor 表示异或 即 若前俩个数是 2 3 异或和表就是 2 + 3 + 2xor3 为了体现异或的本质我们用二进制表示 即 10 + 11 + 01 那么 异或和表就是 22,即每一位上的1的个数,和的值就是221+2*20