首先我们要知道 集合占位幂级数:将原始数组的第i个值放在第bitcount(i)行上,此时一维数组就变为二维数组。相关内容可
看下2015年吕凯风的论文。
对于子集卷积,它的正确性在于bitcount(i)+bitcount(j)>=bitcount(i | j),因此如果bitcount(i)+bitcount(j)==bitcount(i | j),它一定会是我们要统计的答案。对于位数大于其的答案,我们将其舍去。
若多项式的乘法为子集卷积意义,那么就相当于对于 每一列 进行普通的多项式操作。目前理由不明。或许是乘法的正确性?
因此,要实现某些多项式操作,就需要有相应的递推。当然,此时平方复杂度的递推不失为一个不错的选择。