线性基
pbihao
这个作者很懒,什么都没留下…
展开
-
【BZOJ 4269】再见Xor 线性基
首先构造线性基求出最大的异或值,然后再用最大的异或值异或最小的线性基就是次大值。线性基这玩意比较好玩但是很迷,证明还是简单就不说了。 #include #include #include using namespace std; int n,a[100021],ins[35],ans; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)sca原创 2017-01-29 18:38:35 · 251 阅读 · 0 评论 -
【BZOJ 2115】[Wc2011] Xor 线性基
环^链=链,所以找到一条从1到n的路径和很多很多环,这时候就可以任意异或了,异或和最大,然后用到线性基。 #include #include #include #define cmax(a,b) ((b)>(a)?a=(b):1) #define LL long long #define maxn 200020 using namespace std; int n,m,head[maxn],to原创 2016-12-19 15:37:30 · 212 阅读 · 0 评论 -
【BZOJ 2060】[BeiJing2011]元素 线性基
根据线性基的性质保证我们的任意序列构造的之间相互异或都不为0,所以贪心的来建,按照magic从大到小排序,然后从大到小构造线性基,对于每个加入线性基的元素对答案造成贡献 #include #include #include #include #define LL long long using namespace std; int n,ins[65]; LL ans; struct node{原创 2016-12-19 12:09:23 · 297 阅读 · 0 评论 -
【BZOJ 4184】shallot 线性基
一开始一直没有想到因为只是在一直思考线性上怎么做,结果这道题很巧妙的运用的是在线段树上,因为每一个数字的影响其实只是在一段区间上的,这个=很显然,然后就类似于线段树上区间修改打懒惰标记,最后全部dfs一下下放标记就好了。 一开始一直脑残的开了一个全局的线性基一直mle心塞 #include #include #include #include #include #include #incl原创 2017-03-22 12:05:46 · 398 阅读 · 0 评论