线性基模板题
题目链接:bzoj 2844
题意:写 B z o j 的题意就是简单——题意见上……
题解:题目本意就是求不去重异或空间中 X 排在第几。求出异或空间的秩 M,则去重异或空间的大小为2^m,不去重异或空间的大小为2^n。任何一个包含线性基的子集都能够构成整个异或空间,故每一种非线性基的取法与线性基组合,都能够将整个异或空间遍历一次。故去重异或空间中的每个值在不去重异或空间中都出现2^(n-m)次。所以我们可以使用数位 DP 与线性基在去重异或空间内求出比 X 小的有几个,乘2^(n-m)+1就是答案了。
我思故我在:虽然这是一个水题——线性基的模板题,但我还是犯了一个十分脑残、智障、二逼、逗逼、水水的错误,咳咳~注意!N 很大 2^(n-m) 不能直接靠左移得出……