FWT
作者:互联网
快速沃尔什变换
fengwentao
解决集合卷积。说人话就是把FFT下标的+变成位运算。
&和|的FWT可以用高维前缀和来理解。
考虑对于A | B = C,我们有A'i = ∑Aj,其中j⊂i。B同理。
接下来我们把A'和B'对位相乘得C'。显然有C'i = ∑Cj,其中j⊂i。
接下来把C逆变换回去即可。
考虑怎么求A'。
我们先求一次A0,A0i表示二进制第0位是i的子集,0位以上都是严格等于i的位置权值和。
然后求A1,A1i表示二进制0,1位都是i的子集,而1位以上严格等于i的位置权值和。
然后搞完最高位就完事了。逆变换就反着来。
标签:二进制,接下来,子集,权值,FWT,逆变换 来源: https://www.cnblogs.com/huyufeifei/p/10513402.html