线性基
•参考资料 [1]: 算法 | 线性基学习笔记 [ 2]: 线性基学习笔记 •理解 实数线性基就是n维空间的一个基底, 求线性基就是求他的基底, 也就是矩阵的最大线性无关组 可以用高斯消元来求。 异或线性基其实就是把一个数转化成二进制 转化成二进制后,最多的二进制位数就相当于他的维数 由于只有1和0,高斯消元的结果和异或的结果相同 故用异或来做可以把时间复杂度降到log •习题 洛谷P3812 【模板】线性基 (求最大) 牛客 xor序列 (查找) 洛谷P4570 [BJWC2011]元素 (插入/查找 线性基不为0) 洛谷P4301 [CQOI2013]新Nim游戏 (插入/查找 线性基不为0) 洛谷 P3265 [JLOI2015]装备购买 (实数线性基) hdu3494 XOR (第k大) cf1100F (可以用来练习区间线性基,氮素会TLE_(:з」∠)_,正解是离线做法) 洛谷P4839 P哥的桶 (线性基+线段树) 2019牛客多校第一场A (异或和为0的所有子集长度和) •初始线性基 1 ll n; 2 ll p[65]; 3 4 ///插入 5 void Insert(ll x) 6 { 7 for(int i=60;i>=0;i--) 8 { 9 if(x&(1ll<<i)) 10 { 11 if(!p[i]) 12 { 13 p[i]=x; 14 break;