异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。 前缀树详解:https://www.cnblogs.com/tianzeng/p/10584650.html ...
分类:
编程语言 时间:
2019-03-23 17:29:49
阅读次数:
208
0/1 Trie 【例题】最长异或路径 给定一棵n个点的带权树,求树中最长的异或路径。 Solution 01字典树:用于解决xor问题。 用dis[i]表示‘从i点到根节点的路径异或和’。 > 那么问题转化为:求两点dis的异或最大值。 一般查询两数的最大异或值时,都是从最高位到最低位,由此建立T ...
分类:
其他好文 时间:
2019-03-21 20:18:56
阅读次数:
198
#194. 「2019冬令营提高组」密文 设$s[i]$表示前$i$个密文的异或和 容易发现,只要知道$s[0]~s[n](s[0]=0)$就可以知道每一位的值。 转化一下,就变成了在完全图上求最小生成树,边权是$[l,r]$段的异或和 然鹅数据范围太大了...... 但是边权是特殊的异或和! 于是 ...
分类:
其他好文 时间:
2019-03-17 23:45:46
阅读次数:
278
「luogu4462」[CQOI2018]异或序列 一句话题意 输入 $n$ 个数,给定$k$,共 $m$ 组询问,输出第 $i$ 组询问 $l_i$ $r_i$ 中有多少个连续子序列的异或和等于 $k$。数据范围均在 $[0,1e5]$。 本题不强制在线,故莫队。 记序列 $a$ 的前缀异或和 $ ...
分类:
其他好文 时间:
2019-03-12 18:35:09
阅读次数:
155
思路 可持久化Trie树的好题 注意到题目要求求的询问非常的鬼,不太好做 然后有趣的思路就出现了,我们预处理出来异或前缀和s[i],每次询问的x异或上s[n]之后,问题就变成了在l 1~r 1中选一个异或x最大的数 然后因为区间查询,上可持久化Trie树就好了 注意初始的Trie树不能是空树,必须先 ...
分类:
其他好文 时间:
2019-03-07 01:15:31
阅读次数:
259
题目链接 题目描述 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: A x:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 Q l r x:询问操作,你需要找到一个位置p,满足l≤p≤r,使得: a[p]⊕a[p+1]⊕...⊕a[N]⊕x 最大,输出最大是多 ...
分类:
其他好文 时间:
2019-03-05 21:44:25
阅读次数:
255
题目大意: 给你n个数和p,都小于50000要求留下若干个数字,使得剩下的数字异或为0,并且从左到右串联起来可以被p整除,求一种这样的方案。 搜索 我们无视排列中所有>25的元素。因为由1~25组成的异或和为0的方案有1<<20 == 1048576个,已经远大于50000。在这么多种方案下,一个序 ...
分类:
其他好文 时间:
2019-03-02 13:41:27
阅读次数:
153
"Ac链接" 给定n个数,求子集异或和的第k大。$n\le10^5,a_i\le10^9$。 第一步肯定是构造线性基。设线性基的基底数量为k,那么子集异或和本质不同的个数为$2^k$(如果有为0的情况)。其实求第k大很简单,你把k拆分成2进制,对应基底从左到右的每一位,如果为1就异或上去就行了。不过 ...
分类:
其他好文 时间:
2019-02-24 10:54:55
阅读次数:
160
考虑当只有一个数出现奇数次的时候,我们可以很轻松的知道,把所有的数异或和即可,因为异或运算有一个非常有意思的性质,a^b^a=b 考虑当有两个数(a,b)出现奇数次的时候,我们异或和得到,num=a^b,那么怎么把这两个数分开呢? 我们想想,既然是位运算,一定和二进制有关,我们把num的二进制展开, ...
分类:
其他好文 时间:
2019-02-24 01:07:19
阅读次数:
188
题目描述 http://uoj.ac/problem/207 题解 因为这道题有删边和加边的操作,所以我们不能再链上操作,只能在点上操作。 考虑一些正确性玄学的算法。 我们给每一次链加随机一个权值,这样对于每次询问就查一下这条边分成的两块中的权值异或和是否等于当前所有链的权值异或和即可。 代码 ...
分类:
其他好文 时间:
2019-02-23 10:41:20
阅读次数:
166