一般xor 的题目都是用trie解决。那这道题是在树上的trie;首先:从root==1,遍历树得到1到所有节点的xor 值。 然后对于每个点我们把其插入二进制树中。对于每一个点查找其二进值异或值最大的数 依次遍历下来。注意:边的数量开两倍以上,RE很多次。find函数具体是这样的:对于一个书二进值...
分类:
其他好文 时间:
2015-04-01 15:11:01
阅读次数:
162
场景:在数据库中,需要对某一结果进行排序,排序时按某几个字段按不同的权重排序,但其中一个字段的最大权重限制到30.
分析:在SQL中是没有a>30?30:a 这样的操作的,只有基本运算(+-*/),逻辑运算(&& || xor )等。
答案:
((a-a%30)&&1)*30 : a小于30时,a-a%30为0,(0&&1)*30的结果为0,...
分类:
数据库 时间:
2015-03-19 11:34:04
阅读次数:
246
按位异或(xor):A xor B 若A,B相应位相等时结果为0,相应位不等时结果为1
规律:
一个数与0异或等于自身:0^0=0 1^0=1
一个数与1异或等于取反:0^1=1 1^1=0
一个数与自身异或等于0:a^a=0
运用:
交换两个数a和b,不用中间变量
a=a^b;
b=b^a; //b=b^a=b^(a^b)=a^...
分类:
其他好文 时间:
2015-03-19 08:51:10
阅读次数:
127
题目大意给出一个序列,求[l, r]中的最大连续xor xor和。
强制在线思路先把整个序列分成n √ \sqrt{n}块,预处理每一块的开头到每个数字的最大连续xor xor和。这个我们只需处理出前缀xor xor和,之后用可持久化Trie树就可以搞定。这样询问的右边就是整块的了。剩下左边的随便暴力一下就能过了。。CODE#define _CRT_SECURE_NO_WARNINGS#inc...
分类:
其他好文 时间:
2015-03-17 22:00:38
阅读次数:
179
第一问是裸DP。。。。第二问还是裸DP,注意一种特殊情况(我忘了是什么特殊情况了QAQQQ)滚动数组可以压掉一维,而且 ^ (xor)比 ! (not)慢。。。 1 /************************************************************** 2 ....
分类:
其他好文 时间:
2015-03-17 21:40:17
阅读次数:
165
Xor方程组解的个数判定:——莫涛《高斯消元解Xor方程组》使用方程个数判定:消去第i个未知数时,都会记录距第i个方程最近的第i位系数不为0の方程是谁,这个的max就是使用方程个数。使用bitset加速。#include#include#include#includeusing namespace ...
分类:
其他好文 时间:
2015-03-17 15:47:28
阅读次数:
204
描述分析
我把文库里的粘了过来.
只知道点1到点N的一条路径和图中若干个环,就能通过异或,表示成所有路径。那么,需要多少环才能保证必定能表示成所有路径呢?其实,并不需要很多, 因为一些环可以通过其他的环异或得到,只需保证环是相互 独立的,两两之间存在着不同的边(乘数)。构建一棵生成树,统计非树边与生成树形成的环即可,最多只有M-N+1个环。可用dfs实现,时间复杂度为O(M)。
结合...
分类:
其他好文 时间:
2015-03-15 13:55:55
阅读次数:
115
描述分析
转化为二进制按位来计算, 最后把每一位的加起来
f[i]表示i到n的期望路径长度, d[i]表示i的度
因为i的期望是由i走到的点状态转移得到的, 所以在计算概率时应该用i的度来算
如果i到j的边的权值的第 BIT 位是0, 任何数异或0都是它本身, 所以f[i] = f[j] / d[i] + …
如果i到j的边的权值的第 BIT 位是1, 异或一相当于取反. 所以f[i] = (1-f...
分类:
其他好文 时间:
2015-03-14 18:36:38
阅读次数:
140
运算符包括:@ not ^ * / div mod and shl shr as + - or xor = > = in is其中 @ not ^ 是一元运算符; + - 有时是一元,有时是二元; 其他都是二元运算符.一元运算符在运算数的前面, ^ 例外,也可以在后面,如: P^; 二元运算符在运....
分类:
其他好文 时间:
2015-03-14 18:11:33
阅读次数:
170
XOR按位异或运算,比如4跟6是100和110,按位异或后为101,即为5;该运算有个特性,a XOR b=c,a XOR c=b;数轴原理求最大值:#define max(a,b) (((a)+(b)+abs((a)-(b)))/2)计算是i的几次方是2的64次方:top= ceil(64 * l...
分类:
其他好文 时间:
2015-03-12 18:31:39
阅读次数:
95