Address
Solution
- 看到异或,首先想到拆位
- 下面 xor ( A ) \text{xor}(A) xor(A) 表示子集 A A A 的异或和, b i t ( x , i ) bit(x,i) bit(x,i) 表示 x x x 的第 i i i 个二进制位(最低二进制位为第 0 0 0 位)
- 可以得出
- a n s = E ( xor ( A ) k , A ⊂ S ) = E ( ( ∑ i ≥ 0 b i t ( xor ( A ) , i ) 2 i ) k ) ans=E(\text{xor}(A)^k,A\subset S)=E((\sum_{i\ge 0}bit(\text{xor}(A),i)2^i)^k) ans=E(xor(A)k,A⊂S)=E((i≥0∑bit(xor(A),i)2i)k)
- = E ( ∑ i 1 ≥ 0 ∑ i 2 ≥ 0 ⋯ ∑ i k ≥ 0 2 ∑ j = 1 k i j ∏ j = 1 k b i t ( xor ( A ) , i j ) ) =E(\sum_{i_1\ge 0}\sum_{i_2\ge 0}\dots\sum_{i_k\ge 0}2^{\sum_{j=1}^ki_j}\prod_{j=1}^kbit(\text{xor}(A),i_j)) =E(i1≥0∑i2≥0∑⋯ik≥0∑