5267专题

BZOJ 5267 特工 (类FWT)

题意 题解 从大到小枚举\(l\), 把一个序列从\(2^{l+1}\)分成两个独立的\(2^l\),去除两半的影响。 设去除前的序列为\(b\), 去除后序列为\(b'\) 则有\(b_{2^{l+1}-1}-b_{2^l-1}=\sum^{2^{l+1}-1}_{i=2^l}b_i\) 考虑左边的一个位置\(d\)与右边的位置\(d+2^l\)相对应 考虑一个序列\(s_0\)的第\(i