题意:求第\(k\)小的异或和
要点:
1.线性基能表示原数组的任意异或和,但不包括0,需特判(flag)
2.线性基中的异或组合只有
\(2^{|B|}-1\)个,如果可以异或为0,则组合数为
\(2^{|B|}\)个
3.线性基去除上三角矩阵中的0后是必然递增的,既
\(2^{|B|}-1\)严格递增,因此按
\(k\)的二进制取值是必然的
4.不要化为完全的对角形式,否则无法辨别集合大小的正确性
#include #include #include #include #include #include #include #include #include #include #include #include