Algorithm 异或包含少于两个集合位的子集数

Algorithm 异或包含少于两个集合位的子集数,algorithm,subset,dynamic-programming,xor,segment-tree,Algorithm,Subset,Dynamic Programming,Xor,Segment Tree,我有一个数组A(大小是的,DP不够快 速度足够快的是在GF(2)上应用一些线性代数,GF(2)是一个包含两个元素的伽罗瓦域。每个数字都可以解释为一个位向量;加/减向量是异或;标量乘法实际上并不相关 每个段需要的数据是(1)段中有多少个数字(2)由段中的数字生成的数字子空间的基,该子空间最多由27个数字组成,因为所有数字都小于2^27。一个元素段的基就是该数字(如果不是零),否则就是空集。要找到两个基并集的跨度,请使用高斯消元法并丢弃零向量。 给定一个区间的长度及其基数,可以使用秩零定理计算好的子

我有一个数组A(大小是的,DP不够快

速度足够快的是在GF(2)上应用一些线性代数,GF(2)是一个包含两个元素的伽罗瓦域。每个数字都可以解释为一个位向量;加/减向量是异或;标量乘法实际上并不相关

每个段需要的数据是(1)段中有多少个数字(2)由段中的数字生成的数字子空间的基,该子空间最多由27个数字组成,因为所有数字都小于2^27。一个元素段的基就是该数字(如果不是零),否则就是空集。要找到两个基并集的跨度,请使用高斯消元法并丢弃零向量。


给定一个区间的长度及其基数,可以使用秩零定理计算好的子集数。基本上,对于每个目标数,使用高斯消去例程测试目标数是否属于子空间。如果是,则有2^(区间长度减去基数大小)子集。如果不是,答案是零。

请提供一个例子。当你说“子集”时,你的确切意思是什么?如果范围是
[2,10]
,那么
[3,4,5]
是子集吗?
[2,4,6,8]
是子集吗?