码迷,mamicode.com
首页 >  
搜索关键字:异或操作    ( 116个结果
C++ 中的异或操作^
好好的利用异或可以产生神奇的效果。 异或运算的性质: 任何一个数字异或它自己都等于0。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。 例题: 给定大小是N的数组,数组里的元素互相不重复,元素的大小范围是1~(N+1),目标是找出第一个miss的数。要求时间复杂度O(N),空间是O(1)....
分类:编程语言   时间:2015-04-02 16:29:18    阅读次数:200
Single Numberl
存在一个数组,该数组中仅有一个数仅出现了一次,其他所有数均出现两次,求这个数 思路:任何一个数和自身求异或操作都是0,任何一个数和0求异或操作都是它自身 class Solution {public: int singleNumber(int A[], int n) { int res=0; for...
分类:其他好文   时间:2015-04-01 14:58:29    阅读次数:124
LA 2965 Jurassic Remains
虽说是暴力题,但还是有很多很多的技巧与细节。 这题: 1、熟悉了位运算符,感觉异或操作的逼格有高了一级 2、可以用一个数的2进制来表示集合(这个需要多用) 3、中途相遇法。。。其实就是把总的集合拆成两半,降低指数使得暴力可解。(前段时间的中南校赛,好像也有个这种方法的题) #inclu...
分类:其他好文   时间:2015-01-24 15:42:27    阅读次数:140
BZOJ2337: [HNOI2011]XOR和路径
题解:异或操作是每一位独立的,所以我们可以考虑每一位分开做。假设当前正在处理第k位那令f[i]表示从i到n 为1的概率。因为不是有向无环图(绿豆蛙的归宿),所以我们要用到高斯消元。若有边i->j 权值为w,若w的k位为0,则f[i]+=1/du[i] * f[j],否则f[i]+=(1-f[j])/...
分类:其他好文   时间:2015-01-19 19:00:37    阅读次数:143
Java随笔:使用异或操作交换变量值的风险
在面试中,经常会问到“如何不用中间变量交换两个变量值”。看看下面这个代码输出是什么:int x = 1984;int y = 2001;x^=y^=x^=y;System.out.println("x="+x+";y="+y);看上去应该很完美的:x=2001;y=1984实际输出是:x=0;y=1...
分类:编程语言   时间:2015-01-02 22:23:55    阅读次数:312
Section 2.1.Hamming Codes (hamming)
//题目的链接http://www.nocow.cn/index.php/Translate:USACO/hamming/*【位运算】+【异或操作】*//*ID:zhangsh35PROG:hammingLANG:C++*/#include<iostream>#include<math.h>#include<stdio.h>usingnamespacestd;constintMAXN=64;intham[MAXN];inttot,Max,di..
分类:其他好文   时间:2014-12-14 18:47:51    阅读次数:165
用java实现异或操作
最近看了博客园的很多应届生面试bae成功的经历,由衷的佩服和满满的感叹:付出总有回报。于是自己也心痒痒想找几分面试题目做做。无意间看到了这道题目。一个数组存放了2n+1个整数,其中有n个数出现了2次,1个数出现了1次,找出出现1次的数是多少?我想了很久没想出来,可见我很笨,百度了下答案,说只要对所有...
分类:编程语言   时间:2014-10-16 12:03:32    阅读次数:252
使用异或交换数据值的原理
大家都知道,假如有a,b两个整型数,我们可以用 a^=b; b^=a; a^=b; 来交换a,b的值,在这里我说说其中的原理: ^ 在 C 里面是按位异或操作符,相同的话异或的结果就是 0,不同的话就是 1。举个例子,比如 a 表示十进制的 5,b 表示十进制的 12,按位异或结果就是: a = 0101   (5 的二进制表示) b = 1100   (12 的二进制表...
分类:其他好文   时间:2014-09-22 14:10:22    阅读次数:203
确定需要改变几个位,才能将整数A转变为整数B
1 /*确定需要改变几个位,才能将整数A转变为整数B 2 * 找出两个数之间位有哪些不同,可以使用异或操作即可 3 * 在异或操作的结果中,每个1都代表A和B相应位是不一样的 4 * 因此只要数一数异或之后又几个位为1就可以知道需要改变几个位 5 * 6 * */ 7 public c...
分类:其他好文   时间:2014-09-15 15:46:49    阅读次数:121
xor异或逻辑操作(辅助完成图形的叠加)
异或操作的作用: 异或 两个不相同,返回true, 两个相同返回false 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0...
分类:其他好文   时间:2014-09-11 23:59:42    阅读次数:495
116条   上一页 1 ... 9 10 11 12 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!