CF383E 题解
拿到这题,看到求答案的方式:“平方的异或和”。这是就能想到可能有两种方式统计答案:
-
直接按照他所说的去算。
算出每一种情况下的数量平方再取个异或和。
-
拆贡献
既然是平方,就无异于点对数,故而可以两两之间统计贡献。
但是这道题拆贡献很难做(或许是没法做),故而考虑直接去算。
我们发现直接统计合法数量很难,故而我们统计不合法数量。我们发现不合法数量必须要求是当前集合补集的子集。我们采用高维前缀和求和即可。
时间复杂度 $O(2^c \times c)$,其中 $c=24$,表示字母数量。
代码。