题解 P4869 【albus就是要第一个出场】
这题貌似没人给出一个正常的证明,所以给一个比较好理解的证明。
设
- 如果从外面加入的这个数可以用除了表示出这个异或和的那些线性基内的数表示出来,那就把那些数也异或进来,那么异或和不变。
- 如果外面加入的数必须用完全属于表示出这个异或和的那些线性基内的数表示出来,那就不选这些数,那异或和还是不变。
- 如果部分属于表示这个集合的数,部分不属于,那就把两个部分拆开,属于的部分不选,不属于的部分选,就把这两个部分都变成了
0 ,异或和还是不变。
那么如果从外面
代码太丑了就不贴了 (其实是我懒得写了