线性基
_beginend
这个作者很懒,什么都没留下…
展开
-
【2019 CCPC 哈尔滨站 G. Game Store】【Nim-K+线性基+bitset优化三进制加法】
题意题目链接有一个商店,商店里每天会增加一个石子集合,集合里有两堆石子数相同的石子,且每个集合有一个价格。Alice每天会在商店里选价格和尽量大的一些集合,满足把这些集合里的石子堆放在一起,然后Bob任意拿掉一些石子堆,无论Bob怎么拿,玩Nim-K游戏先手总有必胜策略。n≤500000,ai≤1018n\le500000,a_i\le 10^{18}n≤500000,ai≤1018,强制...原创 2019-11-12 16:05:44 · 589 阅读 · 0 评论 -
LibreOJ #6060.「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set 线性基
题意给出n个非负整数,将数划分成两个集合,记为一号集合和二号集合。x1为一号集合中所有数的异或和,x2为二号集合中所有数的异或和。在最大化x1+x2的前提下,最小化x1。 n≤105,ai≤1018n≤105,ai≤1018n\le10^5,a_i\le10^{18}分析设sss表示所有数的异或和,那么我们就是要找一个最小的x1满足x1+x1 xor s最大。 考虑对于每一位分...原创 2018-06-27 15:23:40 · 620 阅读 · 0 评论 -
Codeforces 724G Xor-matic Number of the Graph 线性基
题意给一个n个点m条边的无向图,边有边权V,定义一个三元组(u,v,w)(u,v,w)(u,v,w)是合法的当且仅当存在一条从uuu到vvv的路径满足这条路径上边权的异或和恰好为www。问所有合法三元组的www的和。 n≤100000,m≤200000,V≤1018n≤100000,m≤200000,V≤1018n\le100000,m\le200000,V\le10^{18}分析...原创 2018-06-13 08:57:53 · 291 阅读 · 0 评论 -
LibreOJ #114.k大异或和 线性基+贪心
题意给n个数a[1..n],每次询问给出一个k,求这n个数能异或出来的所有数中,第k小的是多少。 n≤105,ai≤250n≤105,ai≤250n\le10^5,a_i\le2^{50}分析先对这n个数维护一个线性基,其中线性基中的数需要满足对于任意iii和jjj,若线性基中这两位都有值,则basibasibas_i不能含2j2j2^j,basjbasjbas_j不能含2i2i...原创 2018-04-26 17:24:11 · 879 阅读 · 0 评论 -
Codeforces 959F Mahmoud and Ehab and yet another xor task 线性基
题意给出一个长度为n的数组A和q个询问,每次询问给出两个数l和x,问有多少种方案从前l个元素中取若干个出来使得其异或和恰好为x。取模。 n,q≤105,Ai<220n,q≤105,Ai<220n,q\le10^5,A_i2l−cnt2l−cnt2^{l-cnt}。因为除了线性基以外的元素可以任意选,然后再通过线性基中的元素将异或和补成x即可。代码#include&...原创 2018-04-07 09:14:25 · 567 阅读 · 0 评论 -
bzoj 4671: 异或图 容斥原理+线性基+斯特林反演
题意定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中.现在给定 s 个结点数相同的图 G1…s, 设 S = {G1, G2, … , Gs}, 请问 S 有多少个子集的异或为一个连通图? 2≤n≤10,1≤s≤60.2≤n≤10,1≤s≤60. ...原创 2018-04-01 20:12:03 · 357 阅读 · 0 评论 -
Codeforces 938G Shortest Path Queries 线段树分治+并查集+线性基
题意给出一个连通带权无向图,边有边权,要求资瓷q个操作: 1 x y d在原图中加入一条x到y权值为b的边 2 x y把图中x到y的边删掉 3 x y表示询问x到y的异或最短路 保证任意操作后原图连通无重边自环且操作均合法 n,m,q<=200000分析如果没有前两个操作的话,我们就可以把原图的dfs树建出来,那么x到y的异或最短路就是它们在dfs树上的路径再异或上...原创 2018-03-04 21:37:49 · 585 阅读 · 0 评论 -
51nod 1323 完美平方 线性基+bitset+数学
题意有一个N*N的矩阵M,其中包含N*N正整数。现在要从这个矩阵中选出一些元素来,要求: 1)每行恰好选择了奇数个元素; 2)每列恰好选择了奇数个元素; 3)选出的所有元素的乘积是个完全平方数; 4)每个元素不能重复选择,即你不能选择M(i,j)多次。 问有多少种不同的选取方法。输出方法数mod 1,000,000,007后的答案。 1<=N<=20,1<=M[i][j]<=1,000,原创 2017-11-05 07:44:41 · 581 阅读 · 0 评论 -
bzoj 2115: [Wc2011] Xor 线性基+dfs树
题意给出一个带权无向图,求一条1到n的路径使得其路径上边权的异或和最大。 n<=50000,m<=100000分析把dfs树建出来后,所有边要么是树边要么是非树边。显然我们可以通过走一条反祖边来使我们的答案异或上该返祖边所在环的权值。那么就把所有环的权值扔到线性基里面,最后取个最大的即可。代码#include<iostream>#include<cstdio>#include<cstdlib>原创 2017-10-24 08:20:44 · 263 阅读 · 0 评论 -
bzoj 4184: shallot 分治+线性基
题意小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上写上一个数字,然后把小葱叫过来玩游戏。 每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且让小葱从自己手中的小葱苗里选出一些小葱苗使得选出的小葱苗上的数字的异或和最大。 这种小问题对于小葱来说当然不在话下,但是他的身边没有电脑,于是他打电话给同为Oi选手的你,你能帮帮他吗? 你只需要输出最大的异或和即可,若小葱手原创 2017-09-25 21:03:59 · 472 阅读 · 0 评论 -
bzoj 3569: DZY Loves Chinese II dfs树+线性基【神题】
题意给出一个无向图,每次询问删掉给定的k条边后图是否仍然连通。强制在线。 n<=100000,m<=500000,q<=50000,k<=15分析记得之前有位大爷告诉我说无向图的题有时候用dfs树会有奇效。这题的题解十分的巧妙,我们可以先把原图的一棵dfs树求出来,然后对于每条非树边,给其赋一个随机权值;对于每条树边,其权值为所有包含它的非树边的权值异或和。那么图不连通,当且仅当一条树边和所有包含原创 2017-09-04 21:35:31 · 482 阅读 · 0 评论 -
bzoj 4568: [Scoi2016]幸运数字 倍增维护线性基
题意给出一棵树,每个节点都有一个权值,每次询问x到y的路径上任意选若干个节点的最大异或值。 n<=20000,m<=200000,a[i]<=260n<=20000,m<=200000,a[i]<=2^{60}分析一看到题目就知道是用线性基来维护,想到了用倍增来维护线性基,但觉得复杂度太大了,应该会超时,于是就不敢打。去网上搜了题解发现其实就是这样做就好了。 也就是每次暴力合并线性基即可。代码#原创 2016-12-20 19:57:28 · 394 阅读 · 0 评论 -
bzoj 2460: [BeiJing2011]元素 线性基+贪心
题意有n件物品,每件物品都有一个编号num和魔力值mag。求一个物品集合,满足任意一件物品的num都不能表示为其他若干件物品的num值得异或和且mag的和最大。 n<=1000分析跟bzoj 3105很像,都是求极大线性无关组。 那么因为这是个拟阵(只与为什么就不证明了,有关拟阵的介绍请点这里)所以就可以用贪心来做。 只要用线性基维护一下即可。代码#include<iostream>#inc原创 2016-12-19 21:06:12 · 364 阅读 · 0 评论 -
bzoj 3105: [cqoi2013]新Nim游戏 博弈论+贪心(拟阵)+线性基
题意传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。 本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游戏者也有这样一次原创 2016-12-19 20:31:43 · 511 阅读 · 0 评论