(long num)
| 32 | |
| 33 | // 线性基里插入num,如果线性基增加了返回true,否则返回false |
| 34 | public static boolean insert(long num) { |
| 35 | for (int i = BIT; i >= 0; i--) { |
| 36 | if (num >> i == 1) { |
| 37 | if (basis1[i] == 0) { |
| 38 | basis1[i] = num; |
| 39 | return true; |
| 40 | } |
| 41 | num ^= basis1[i]; |
| 42 | } |
| 43 | } |
| 44 | return false; |
| 45 | } |
| 46 | |
| 47 | // 高斯消元 |
| 48 | // 因为不需要维护主元和自由元的依赖关系 |