线性代数---线性基
forezxl
水君一枚
展开
-
线性基(洛谷P3812)
东学学西学学 定义 设一个数集SSS通过异或可以组成的集合为VVV,那么SSS的线性基是SSS的一个子集A={p1,p2,…,pn}A={p1,p2,…,pn}A=\{p_1,p_2,\dots,p_n\},满足pxpxp_x的最高位1的位置为xxx,且A中的数通过异或组成的数集也为VVV。 线性基的维护 插入 每当需要插入一个数xxx时,从高位到低位扫一遍。当扫到有一位为1时,如果...原创 2018-04-09 15:36:20 · 251 阅读 · 0 评论 -
BZOJ2460: [BeiJing2011]元素
线性基 题目传送门 简单的线性基应用。 把所有矿石按照法力大小sort一下,然后根据元素序号搞线性基就好了。 代码: #include<cstdio> #include<cstring> #include<algorithm> #define N 1005 using namespace std; typedef long long LL; str...原创 2018-04-09 15:45:50 · 151 阅读 · 0 评论 -
BZOJ4568: [Scoi2016]幸运数字(洛谷P3292)
线性基 倍增 BZOJ题目传送门 洛谷题目传送门 预处理xxx跳了2j2^j2j的线性基,每次询问倍增跳并合并线性基,最后查一下最大值就好了。复杂度O(60∗60∗mlogn)O(60*60*m\log n)O(60∗60∗mlogn) 代码: #include<cctype> #include<cstdio> #include<cstring> #inclu...原创 2018-10-12 17:10:18 · 137 阅读 · 0 评论 -
BZOJ3569: DZY Loves Chinese II(BZOJ3563)
线性基 BZOJ3569 BZOJ3563 (3563是搞笑的。。。因为K也被异或,我们就可以倒推出其他答案,只要做最后一次就行了) 线性基神题 我们对原图建DFS树,这样非树边就只有返祖边了。我们给每条非树边随机一个权值,树边的权值为覆盖它的非树边权值的异或和。这样当删除的边中有异或和为0的子集时就是不连通的,这个用线性基判断。 代码: #include<cctype> #inclu...原创 2018-10-08 15:24:15 · 165 阅读 · 0 评论 -
BZOJ2115: [Wc2011] Xor(洛谷P4151)
线性基 BZOJ题目传送门 洛谷题目传送门 妙蛙 假如我们已经找到一条路径,如果要使答案变大,显然只能在这条路径上加环。而从路径到环的边会走两遍,因此不会影响答案。那么我们把所有环扔进线性基里,然后用这条路径求出最大值即可。 至于这条路径,其实是可以随便选的。因为如果另一条路径比它更优,它们就会形成环,在线性基里就会变成另一条路径了。 代码: #include<cctype> #inc...原创 2018-10-25 08:56:36 · 154 阅读 · 0 评论