线性基
线性基是一个数的集合,并且每个序列都拥有至少一个线性基。
性质
- 原序列里面任意一个(一些数异或和)都可以由线性基里面的一些数异或得到,同时,线性基里面的任意一个数也可以由原序列里面的一些数异或得到。
- 线性基里面的任意一些数异或起来都不能得到 $0$
- 线性基里面的数的个数唯一,并且在保持性质一的前提下,数的个数是最少的
代码
1 | ll d[100];//线性基,若 d[i]>0,d[i]二进制的第i位一定为1 |
最大最小
1 | ll MAX(){//求在原序列中,取若干个数,使得其异或和最大 |
第k大
1 | int cnt; |