线性基
BrooksBUAA
这个作者很懒,什么都没留下…
展开
-
[HDU 3949]XOR:线性基
点击这里查看原题线性基教程https://blog.sengxian.com/algorithms/linear-basis 本题要求第k小的异或和,那么可以将k转为2进制数,对于第i位,如果为1,那么答案异或上g[i]。注意的一点是如果基的元素数小于n,那么存在异或和为0的方案,因此需要将k减1/* User:Small Language:C++ Problem No.:3949 */ #inc原创 2017-06-13 14:58:10 · 406 阅读 · 0 评论 -
[BZOJ 2115][Wc2011] Xor:线性基
点击这里查看原题结论:答案一定是任意一条1~n的路径异或某些环得到的值 接下来是证明为什么每个环都可以取到:如果要取某个环,可以从1出发到这个环上,走一圈后原路回到1,这样就得到了这个环的异或值。 因此将所有的环加入线性基中求基,然后求一条从1到n的路径,贪心的从高位到低位与基异或/* User:Small Language:C++ Problem No.:2115 */ #include<bi原创 2017-06-13 16:03:45 · 417 阅读 · 0 评论 -
[BZOJ 3811]玛里苟斯:线性基(详细证明)
点击这里查看原题极其复杂的题目……看了一早上题解才看懂 分类讨论 k=1时,考虑每一位对答案的影响,若至少存在一个数第j位为1,那么异或和中第j位为1的概率为0.5,否则为零。因为取到奇数个第j位为1的数的概率和取到偶数个的概率相等。 k=2时,把异或和转化为2进制,那么每个异或和的平方为∑i∑jbibj∗2i+j\sum _{i} \sum _{j}b_{i}b_{j}*2^{i+j},那么原创 2017-06-14 11:47:51 · 1864 阅读 · 0 评论