线性基/XOR好题
文章平均质量分 50
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
线性基 解析 + 模板
感谢这位博主的文章 全面解析的博客 做什么: 一般是在n个数中选择一些数异或起来答案最大. (不同与01字典树!!!) 定义: 设数集T的值域范围为[1,2n−1]。 T的线性基是T的一个子集A={a1,a2,a3,…,an}。 A中元素互相xor所形成的异或集合,等价于原数集T的元素互相xor形成的异或集合。 可以理解为将原数集进行了压缩 性质: 1.设线性基的异或集合中不存...原创 2018-04-26 00:25:40 · 1042 阅读 · 1 评论 -
新疆大学五月月赛 H 题 XOR 好题 【思维】
传送门 题意: 给定n 个城市, 编号从0 - n-1, 连接任意两个城市的代价是这两个城市的编号异或和,问连接这n个城市的最小代价是多少. 思路:这道题的推导还是挺有意思, 我们可以一步一步看, n = 2 时 答案肯定是1嘛. n = 3 时 那么编号2和之前那个点连最优了? 肯定是0, 所以答案是3 n = 4 时 3 又和那个点连最优了, 那就是 2 吧, 因为最高位相同, ...原创 2018-05-04 17:24:30 · 226 阅读 · 0 评论 -
牛客挑战赛 14 E 题 无效位置 【线性基 + 并查集 + 逆向思维】 好题!
传送门 题目大意: 给一个1-base数组{a},有N次操作,每次操作会使一个位置无效。一个区间的权值定义为这个区间里选出一些数的异或和的最大值。求在每次操作前,所有不包含无效位置的区间的权值的最大值 思路: 首先我们应该想n个数中选择一些数异或起来最大怎么做? 这个用线性基可以做到.(不懂的自行百度), 在就是我们对于一个无效位置时很难控制我们在选的时候不选它, 所以我们逆向思考....原创 2018-07-31 16:54:23 · 234 阅读 · 0 评论 -
CodeForces - 662A Gambling Nim【思维 + 线性基好题】
传送门 题意: 每张卡片正面和反面都有一个数字, 然后现在以一种方式每张卡片选一面放在上面, 问放在上面的数字异或为0的概率为多少 思路: 我们假设S = a[i] ^ a[i+1] ^ … ^ a[n], c[i] = a[i] ^ b[i], 再假设我们选择了k个c[i], 所以这次异或的结果可以表示为S ^ c[i] ^ … ^ c[k], 说明选到了的k张卡片我们选择b[i]的一面, 剩下...原创 2018-10-09 14:16:06 · 341 阅读 · 0 评论 -
POJ-3764 The xor-longest Path 【思维 + 01字典树】
传送门 题意: 给定一棵带权树,求树上一条简单路径,经过的边异或值最大. 思路:任意一条u-> v的路径f(u, v) = f(1, u) ^ f(1, v), 所以我们可以把从1出发到某个点的异或值全部算出来,然后问题就变成了从这些值中选择两个数异或最大,那么就是01字典树的问题了,所以就解决了. 还是注意字典树内存问题 AC Code const int maxn = 1e5 + 5; ...原创 2018-10-25 19:34:10 · 304 阅读 · 0 评论