首页 > 其他 > 详细

FWT

时间:2019-03-11 21:55:43      阅读:143      评论:0      收藏:0      [点我收藏+]

快速沃尔什变换

 

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!