【题目分析】 每个数没有超过500的因子。很容易想到把每一个数表示成一个二进制的数。 (0代表该质数的次数为偶数,1代表是奇数) 然后问题转化成了选取一些二进制数,使他们的异或和为0。 高斯消元,2^(自由元)即为答案,需要把空集的情况减去,所以减一。 然而发现并不需要知道哪些是自由元,所以只需要用 ...
分类:
其他好文 时间:
2017-01-15 19:13:31
阅读次数:
158
【题目分析】 高斯消元求线性基。 题目本身不难,但是两种维护线性基的方法引起了我的思考。 1 2 3 4 5 6 7 8 9 10 11 12 void gauss(){ k=n; F(i,1,n){ F(j,i+1,n) if (a[j]>a[i]) swap(a[i],a[j]); if (!a ...
分类:
其他好文 时间:
2016-12-25 21:12:18
阅读次数:
189
Description 在某时刻加入或删除一个点,问每个时刻的集合中能异或出来的最大值是多少. Sol 线段树+按时间分治+线性基. 把一个数字的存在时间挂在线段树的区间上,不超过 \(logn\) 个区间,所以总和不超过 \(nlogn\) 个节点信息. 然后从上往下走遍历整个线段树,每次到根节点 ...
分类:
其他好文 时间:
2016-12-23 23:07:03
阅读次数:
179
【题目分析】 显然,一个路径走过两边是不需要计算的,所以我么找到一条1-n的路径,然后向该异或值不断异或简单环即可。 但是找出所有简单环是相当复杂的,我们只需要dfs一遍,找出所有的环路即可,因为所有的简单环都可以经过各种各样的异或得到。 然后线性基,在从高位向低位贪心即可,至于证明,需要拟阵的相关 ...
分类:
其他好文 时间:
2016-12-21 02:23:55
阅读次数:
177
【题目分析】 神奇的题目,两人都可以第一次取走足够多堆的石子。 nim游戏的规则是,如果异或和为0,那么就先手必输,否则先手有必胜策略。 所以只需要剩下一群异或和为0就可以了。 先排序,线性基扫一遍即可(保留最多的不为0的堆) 【代码】 ...
分类:
其他好文 时间:
2016-12-21 02:14:46
阅读次数:
228
【题目分析】 线性基,由于最多有63个,只需要排序之后,动态的去维护线性基即可。 【代码】 ...
分类:
其他好文 时间:
2016-12-19 00:10:58
阅读次数:
165
ps:做CF的时候碰到了一个线性基的概念,然后在网上学习了一下,发现相关的资料很少,所以打算来写一个我个人的理解。 线性代数中 有极大线性无关组和空间的基的概念。 线性基的性质与此类似。 首先来看一个问题: 给出N个数,要从中选出一个最大的子集,使得子集中的任意个元素异或值不为0. 这个和极大线性无 ...
分类:
其他好文 时间:
2016-12-10 00:22:37
阅读次数:
280
【题目大意】 给定一个数组,求这些数组通过异或能得到的数中的第k小是多少。 传送门:http://vjudge.net/problem/HDU-3949 【题解】 首先高斯消元求出线性基,然后将k按照二进制拆分即可。 注意当高斯消元结束后若末尾有0则第1小是0 特判一下然后k--。 然后HDU输出l ...
分类:
其他好文 时间:
2016-10-09 22:57:33
阅读次数:
205
www.lydsy.com/JudgeOnline/problem.php?id=2460 (题目链接) 题意:n个二元组(a,b),求一个∑b最大,且所有子集XOR<>0的集合 Solution 线性基的经典应用。具体证明好像要用到拟阵,不会,好像是很高深的东西。 代码: ...
分类:
其他好文 时间:
2016-09-27 20:17:46
阅读次数:
137
md有毒卡什么精度!!!! 最大线性无关组(线性基)可作为模板。 ...
分类:
其他好文 时间:
2016-08-21 22:29:07
阅读次数:
122