线性基
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
线性基(不得不填坑orz)
参见原文aiaia_i表示一个标量,而aiai\mathbf{a}_i表示一个向量概述基(basis)是线性代数中的一个概念,ta是描述刻画向量空间的基本工具 而在现行的 OI 题目中,通常在利用基在异或空间中的一些特殊性质来解决题目,而这一类题目所涉及的知识点被称作「线性基」预备知识下面是一些线性代数的基本知识,以便更好的理解基的概念向量空间(vector ...原创 2018-02-26 16:44:39 · 704 阅读 · 0 评论 -
bzoj2460 [BeiJing2011]元素(贪心+线性基)
题目链接分析: 看到有异或和,就可以往线性基上考虑 然而写出线性基之后,在统计答案上卡了如果直接按照线性基:for (int i=30;i>=0;i--) if (b[i]) ans+=v[b[i]];这样统计出的答案保证了编号的异或值最大,与题设不符,非常不符原来这道题的核心是贪心啊 我们按照v排序 从大到小插入元素维护线性基 因为...原创 2018-02-26 18:36:15 · 218 阅读 · 0 评论 -
正月十一hu测 T1.divide(线性基)
【问题描述】 给出n个不超过m的非负整数,将数划分成两个集合,记为1号集合和2号集合。x1为1号集合中所有数的异或和,x2为2号集合中所有数的异或和。 在最大化x1+x2的前提下,最小化x1。 【输入格式】 第一行n 第二行n个非负整数 【输出格式】 一行两个数,第一个数是x1,第二个数是x2 【样例输入】 7 1 1 2 2 2 3 3 【样例输出】 ...原创 2018-02-26 20:03:35 · 358 阅读 · 0 评论 -
bzoj2115 [Wc2011] Xor(图论+线性基)
题目链接分析: 首先有一个小技巧,是本题的关键: 任意一条111到nnn的路径的异或和,都可以由任意一条111到nnn路径的异或和与图中的一些环的异或和来组合得到这个怎么理解呢 ? 我们可以找到一条主干线 而路上有环都可以归结成一下情况: 权值就是一条单路径(1->n)+所有环 一遍dfs把ta们求出来就可以了 复杂度O(n+m) 求出线性基,里面存...原创 2018-02-27 07:16:41 · 241 阅读 · 0 评论 -
hdu3949 XOR(线性基【第k大)
题目链接分析: 求第k大:把k二进制拆分,如果k的第i位上是1,ans^=b[i]这是什么道理呢? 异或消元最后得到的是一组基 给出n个数能够异或出来的值,都是这些基线性组合形成的数方便起见,我们把矩阵消成对角线型(比较好理解) 这样1只会出现在对角线上 cntcntcnt:对角线上有多少个1 显然我们能得到1<<cnt1<<cnt1cnt=ncnt...原创 2018-02-27 08:40:50 · 2613 阅读 · 0 评论 -
bzoj3105 [cqoi2013]新Nim游戏
题目链接分析: 普通的Nim游戏,最后的Nim和(异或和)如果等于0,那么先手必败 但是在这个新游戏中,我们可以暗箱操作一下: 显然,我们希望在第一步完成后, 剩下的石子集的任何一个子集的Nim和都不是0那么题目就变成了: 选出一个最大子集,使得子集中的元素异或起来不为0 (其实这种说法不是很严谨,应该是任意一个子集的Nim和都不为0)显然,每种数量的石子堆一定只能保留一个...原创 2018-02-27 09:21:00 · 242 阅读 · 0 评论 -
bzoj2844 albus就是要第一个出场(线性基【询问排名)
题目链接分析: 这道题是hdu3949的逆运算(可能题面有点难懂)既然我们能够知道排名是第k的数是多少 就可以直接二分,变成判定性问题当然,这道题还有其他解法:因为是子集异或和,可以考虑用线性基解决 把每一个数看成是一个向量,求出线性基 线性基是一个极小集:能够张成原空间的最小线性不相关向量集 那么任何一个异或和都可以用线性基得到但是题目中会计算重复的数值,而线性基是...原创 2018-02-27 15:02:39 · 392 阅读 · 0 评论 -
bzoj4568 [Scoi2016]幸运数字(LCA+线性基)
题目链接分析: 学长说这叫:树上线性基有多重做法 (1)树链剖分+线性基合并(2)LCA+倍增+线性基合并(3)点分治+线性基合并后两个是lognlognlogn级的,第一种是log2nlog2nlog^2n级的就代码复杂度来说,当然是选择第二种方法啦每个结点维护向上跳2i2i2^i步经过的数字的线性基 线性基的合并直接暴力即可 最后的统计答案就是普通的线性基求异或和最...原创 2018-02-27 20:18:54 · 265 阅读 · 0 评论