线性基 非常高端 强制在线动态图 我们先搞出一个dfs树,然后所有非树边都和树边形成一个环。我们考虑什么情况会不连通,当且仅当树边和dfs序大于当前点的返祖边都被断掉才不连通,那么我们给每个非树边赋一个权值,树边的权值就是所有这些返祖边的权值的异或和,这样一遍dfs就行了。 然后就是怎么判断,因为树 ...
分类:
其他好文 时间:
2017-11-30 21:46:01
阅读次数:
103
线性基 构成线性基的个数是定的,所以我们对价值进行贪心就行了,根据拟阵那套理论,我们排个序,然后能塞进去就塞,这样就求出最小值了。 思维江化,只要是多维向量都能用线性基搞。 #include<bits/stdc++.h> using namespace std; #define double lon ...
分类:
其他好文 时间:
2017-11-28 20:41:25
阅读次数:
178
线性基 所谓基就是基底 线性基就可以理解为n个数异或(xor)的基底 性质 1,线性基的异或集合中不存在0(很容易证明:根据xor的性质即可) 2,线性基能相互异或得到原集合的所有相互异或得到的值(这也是线性基的优美之处) 3,线性基二进制最高位互不相同 4,如果线性基是满的,它的异或集合为[1,2 ...
分类:
其他好文 时间:
2017-11-27 23:28:09
阅读次数:
182
分析:如果能知道区间线性基,问题就解决了,所以一开始有个naive的想法,搞个线性基线段树,然而复杂度(32*nlogn),果断T。。。 正解是预处理后缀线性基,并且每个基中的每一个分量位置尽量靠前,然后把k丢到左端点对应的线性基里跑,如果k最后不为0或者需要异或的位置超过了r,答案就是NO。 这样 ...
分类:
其他好文 时间:
2017-11-10 23:16:13
阅读次数:
301
线性gay - - 分析:要求和尽量大,首先可以想到,求完线性基后,记最大异或为Max,对于线性基以外的数,都可以变成Max,剩下的线性无关,变成最小线性基,可以通过异或基中最大的数把所有的最高位变成1,这样显然是最优的,然后把最大的数异或成Max,去掉这个数后再考虑剩下的数,以此类推,相当于最大的 ...
分类:
其他好文 时间:
2017-11-10 00:16:19
阅读次数:
129
luogu P3812 【模板】线性基 题目背景 这是一道模板题。 题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: 仅一行,表示答案。 输入输出样例 输入样例#1: 复制 2 ...
分类:
其他好文 时间:
2017-11-09 22:40:48
阅读次数:
192
题目大意: 给你n个数,求这些数能异或出的数的最大值。 思路: 线性基模板。 b中的数满足对于每个b[i],最高位在第i位。 构造方法就是对于每个数字,从高到低枚举每一个1,如果这一位对应的b[i]还没有,就把这个数作为b[i],如果有,就把这个数异或上b[i]。 考虑两个数a,b,它们能异或出来的 ...
分类:
其他好文 时间:
2017-11-09 11:51:42
阅读次数:
177
To xor or not to xor SGU - 275 线性基求异或最大值~ 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 const int maxn = 110; 5 LL a[maxn ...
分类:
其他好文 时间:
2017-10-22 11:00:29
阅读次数:
135
逻辑地址到线性地址: 逻辑地址 = 段标识符(或者叫段选择符)16位 + 偏移量 32位 段标识符 = index + tl + rpl 其中,cpu中的段寄存器只保存段标识符,根据其中的tl 确定段描述符在GDT还是LDT中,从不同的寄存器获取线性基地址,再加上index*8就得到了段描述符的地址 ...
分类:
其他好文 时间:
2017-10-16 18:07:47
阅读次数:
139
线性基的话,我觉得就是把n个数的排列简化成63个数,使其异或出来的数跟原来可以异或出来的数一样 先把矿石按权值从大到小排序 一个一个往里加 如果加进去的不合法,就放弃它,因为如果选了它,那么比它权值大的矿石就要放弃 #include <cstdio> #include <cstring> #incl ...
分类:
其他好文 时间:
2017-10-13 17:55:12
阅读次数:
134