FWT小常数枚举方法

其实是一类要按位变换的问题。

不妨假设是二进制的,别的进制类似。

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];
}

具体原理未知。

posted @ 2023-07-04 20:56  ruizhangj  阅读(15)  评论(0)    收藏  举报