描述分析
转化为二进制按位来计算, 最后把每一位的加起来
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
由于异或运算满足结合律,我们把当前状态的SG函数定义为 它所能切割成的所有纸片对的两两异或和之外的最小非负整数。#include#include#includeusing namespace std;int n,m,SG[201][201];int sg(int x,int y){ if(SG[x]...
分类:
其他好文 时间:
2015-03-14 09:36:12
阅读次数:
152
最远曼哈顿距离有两个性质:
1: 对每个点(x,y) 分别计算 +x+y , -x+y , x-y , -x-y 然后统计每种组合的最大值就可以了, 不会对结果产生影响
2: 去掉绝对值 , 设正号为0负号为1 则 两个点的符号是可以通过异或的得到的.
如两个点 P(x,y) 和 Q(a,b) 若去掉绝对值符号后P的两个坐标为 -x +y 既对应数字 10 那么Q对应的数字则为 01...
分类:
其他好文 时间:
2015-03-13 22:22:59
阅读次数:
180
某个状态的SG函数被定义为 除该状态能一步转移到的状态的SG值以外的最小非负整数。有如下性质:从SG值为x的状态出发,可以转移到SG值为0,1,...,x-1的状态。不论SG值增加与否,我们都可以将当前所有子游戏的SG值异或起来从而判断胜负状态。常采用记忆化搜索来计算SG函数。#include#in...
分类:
其他好文 时间:
2015-03-13 22:02:30
阅读次数:
150
Given an array of integers, every element appearstwiceexcept for one. Find that single one.非常简单的一道题。直接相异或剩下的那个数就是答案。原理是两个相等的数异或的值为0。1 class Solution {...
分类:
其他好文 时间:
2015-03-13 00:12:32
阅读次数:
124
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
题意:
给出一个由0-n这n+1个数字组成的序列;
要求你给出另一个序列有0-n组成,让他们一一对应 异或相加的值最大;
输出最大值,和你给出的序列;
思路:
异或完要得到最大值,就应该要二进制是互补的,如10110^01001;
我们的最大值是n,所以我们首先要找到和n互补的值是多少,例如找到是c和n互补;
那么n-1和c+1互补;n-2和c+2也互补;类推;
然后在用c...
分类:
其他好文 时间:
2015-03-11 21:40:49
阅读次数:
296
异或运算
True ⊕ False = True
False ⊕ True = True
False ⊕ False = False
True ⊕ True = False
同或运算
True ⊙ False = False
False ⊙ True = False
False ⊙ False = Ture
True ⊙ True = Ture
或运算
True || Fa...
分类:
其他好文 时间:
2015-03-11 17:16:12
阅读次数:
143
传送门:S-Nim题意:给n个数的集合s, 再给m 组数据,每组表示 k 堆石子,每次可以取的个数只能是集合s中的数量。问先手胜还是输?分析:sg函数的经典运用,先预处理出所有数量为0~10000的石子的sg值,然后判断k堆石子的sg值异或和是否为0来判断先手的输赢。#include #includ...
分类:
其他好文 时间:
2015-03-10 20:56:21
阅读次数:
128
交换两个变量(a和b)的值,最简单的办法是另定义一个变量(c),将a赋给c,然后调换。下面给出几种不使用第三个变量的办法:1.利用运算交换两个变量值a = b - a;b = b - a;a = b + a;2.位运算通过异或运算来交换值a=a^b; b=a^b; a=a^b;3.交换指针地址
分类:
其他好文 时间:
2015-03-10 18:52:32
阅读次数:
100