码迷,mamicode.com
首页 >  
搜索关键字:c语言 交换变量 异或 不创建临时变量    ( 3515个结果
找出数组中两个只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。还是理解不够深刻。 这题的主要思路还是之前的数组中只出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个只出现一次的数字的相异或的值。那么这个值的二进制表现形式中的1的结果就表示这两个数字在该bit位上不一样。那么通过此举,我们可...
分类:编程语言   时间:2015-03-20 00:03:13    阅读次数:269
A1486. 树(王康宁)
题目:http://www.tsinsen.com/A1486题解: 其实看到和路径有关的就应该想到点分治。 我们找出重心之后遍历每一棵子树得到它的 { x=经过特殊点的个数,y=到rt的异或和} 然后我们按x排序,维护两个头尾指针不断把满足条件的加入trie,然后把左边的放进tr...
分类:其他好文   时间:2015-03-19 23:31:29    阅读次数:249
用异或来交换两个变量能提高速度是错误的
在进行两个变量的时候,经常会看到有些书误人子弟的推荐使用异或的方式: 方式一 {   x = x ^ y;   y = x ^ y;   x = x ^ y; } 而不是采用临时变量实现交换: 方式二 {   int temp;   temp = a;        a = b;   b = temp; } 美其名曰:节省内存,提高运行速度。 临时变量交换的方式: ...
分类:其他好文   时间:2015-03-19 22:03:33    阅读次数:94
两个变量交换值的方法
第一种方法,大家会借助第三个变量来实现:如:C=A;A=B;B=C;这种方法需要借助第三变量来实现;第二种方法是利用加减法实现两个变量的交换,如:A=A+B;B=A-B;A=A-B;第三种方法是得用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法,如:A=A^B;B...
分类:其他好文   时间:2015-03-19 21:49:37    阅读次数:120
按位异或运算^
按位异或(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
mysql位运算 数据库设计及应用
1. 基本概念如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧。 与运算 a & b , 或运算 a | b , 异或运算 a ^ b ,或者 你也可以将 与运算理解为 + 法 例如 1|2 = 3 (1+2 = 3)1|2|4 = 7 (1+2+4 = 7)将 异或运算...
分类:数据库   时间:2015-03-18 13:42:06    阅读次数:198
【高斯消元】【异或方程组】poj1222 EXTENDED LIGHTS OUT
由于每个点的状态受到其自身和周围四个点的影响,所以可以这样建立异或方程组:引用题解:http://hi.baidu.com/ofeitian/item/9899edce6dc6d3d297445264题目大意:给你一个5*6的矩阵,矩阵里每一个单元都有一个灯和一个开关,如果按下此开关,那么开关所在位...
分类:其他好文   时间:2015-03-18 10:22:36    阅读次数:135
【BZOJ2466】【中山市选2009】树 高斯消元解异或方程组
题解: 参照此题解,也是我写的,俩题一样。 【POJ1681】Painter’s Problem 高斯消元,求最小∑系数的异或方程组 代码: #include #include #include #include #include #define N 105 #define inf 0x3f3f3f3f using namespace std; bool a[N][N],x...
分类:其他好文   时间:2015-03-17 23:43:16    阅读次数:226
【dfs】bzoj3563 DZY Loves Chinese
因为我们可以通过把某一行读到末尾来获取真正的K,所以把它和假K异或之后就是之前联通的次数(异或的逆运算为其本身)。最后一次的暴力一下。#include#includeusing namespace std;#define N 100001#define M 500001int n,m,K,q,ans...
分类:其他好文   时间:2015-03-17 19:40:10    阅读次数:190
【高斯消元】【异或方程组】【bitset】bzoj1923 [Sdoi2010]外星千足虫
Xor方程组解的个数判定:——莫涛《高斯消元解Xor方程组》使用方程个数判定:消去第i个未知数时,都会记录距第i个方程最近的第i位系数不为0の方程是谁,这个的max就是使用方程个数。使用bitset加速。#include#include#include#includeusing namespace ...
分类:其他好文   时间:2015-03-17 15:47:28    阅读次数:204
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!