其实是一类要按位变换的问题。
不妨假设是二进制的,别的进制类似。
void F(int *a){
for (int w=1;(w<<1)<=(1<<k);w<<=1)
for (int s=0;s<(1<<k);s+=(w<<1))
for (int t=0;t<w;++t)
a[s+t+w]+=a[s+t];
}
具体原理未知。
标签:int,void,枚举,按位,FWT,常数 From: https://www.cnblogs.com/jerryjiang/p/17526989.html