线性基
Cyhlnj
这个作者很懒,什么都没留下…
展开
-
关于线性基的一丢丢理解
线性基 有趣的东西 在某次考试时人人都切了一道题时才发现我没学过线性基。。。 是什么 我感觉它就是一个类似于向量基底的东西 线性基中的元素任选几个异或起来是可以表达出原数组中的所有的值的,并且不能搞出其它的数 性质 线性基无论怎么选集合,只要是非空的,异或起来一定不是000 线性基二进制最高位互不相同 线性基中元素互相异或,异或集合不变 线性基异或出原数组的异或方案唯一 满的线性基...原创 2018-03-16 20:45:48 · 309 阅读 · 0 评论 -
Bzoj2115: [Wc2011] Xor
题面 传送门 Sol 线性基辣 肯定是一条路径然后上面走了若干个环的形式 把每个环丢到线性基里去 询问任意一条111到nnn的异或和求解 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) memset(a, b, sizeof(a)) # de...原创 2018-03-16 21:56:31 · 207 阅读 · 0 评论 -
Bzoj2460: [BeiJing2011]元素
题面 传送门 Sol 就是选出一些石头,最大化价值,使得这些石头的任意非空子集的标号异或和不为000 而它的线性基任意非空子集的异或和的值域和它是一样的 那么我们按价值从大到小加入线性基,判断是否存在就好了 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(...原创 2018-03-16 22:11:31 · 161 阅读 · 0 评论 -
Bzoj4568: [Scoi2016]幸运数字
题面 传送门 Sol 裸的线性基 当然是选择log3log3log^3的ststst表+树剖辣 # include <bits/stdc++.h> # define RG register # define IL inline # define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; typede...原创 2018-03-16 22:13:29 · 231 阅读 · 0 评论 -
Bzoj3105:[CQOI2013]新Nim游戏
题面 传送门 Sol 也是拿出一些数,使剩下的异或起来不为000 而线性基内的数异或不出000 那么从大到小加到线性基内 然后中途为000了,就取走它 这样我们使最大的在线性基内,剩下的是小的,那么这样贪心是对的 然后怎么可能无解,随便剩下一个就是一种方案 # include <bits/stdc++.h> # define IL inline # define RG...原创 2018-03-27 17:33:08 · 166 阅读 · 0 评论 -
Bzoj4004: [JLOI2015]装备购买
题面 传送门 Sol 很像线性基 其实就是线性基 我一直以为它只能搞异或 线性基解决异或问题时是怎么插入的? 就像高斯消元一样,如果这里有值,就进行消元 否则直接加入 那么这个题也可以如此,只是把异或改成减法 这样我们就把高斯消元和线性基结合起来了 # include <bits/stdc++.h> # define RG register # define ...原创 2018-04-12 09:12:44 · 200 阅读 · 0 评论 -
Bzoj1923: [Sdoi2010]外星千足虫
题面 传送门 Sol 显然高斯消元 你会发现线性基和高斯消元本质上好像差不多 直接上线性基判断是否有解 线性基的插入不就是高斯消元吗 然后bitset优化即可 # include <bits/stdc++.h> # define RG register # define IL inline # define Fill(a, b) memset(a, b, sizeo...原创 2018-04-12 10:06:25 · 151 阅读 · 0 评论 -
BZOJ4671:异或图
传送门 直接求连通的不好做,考虑容斥 设 gig_igi 表示至少有 iii 个连通块的方案数,fif_ifi 表示恰好有 iii 个的 那么 gx=∑i=xn{xi}fi&amp;ThickSpace;⟺&amp;ThickSpace;fx=∑i=xn(−1)i−x[xi]gig_x=\sum_{i=x}^{n}\begin{Bmatrix}x \\ i\end{Bmatrix}f_i\if...原创 2018-12-26 22:47:30 · 243 阅读 · 0 评论