码迷,mamicode.com
首页 >  
搜索关键字:异或操作    ( 116个结果
【高逼格系列】使用异或操作符(XOR)交换两数值
Java中使用异或(XOR)来交换两个整形变量的数值
分类:其他好文   时间:2015-10-07 13:23:44    阅读次数:167
SPOJ Optimal Marks(最小割的应用)
SPOJ Optimal Marks(最小割的应用)真心好题,网络流简直无处不在,能够解决一些看似困难的问题,希望能从中学到其精髓—-模型建立+建图题意: 给定一个无向图,每个顶点都有对应值,每条边的权值为val[u] ^ val[u],同时已知其中某些点的值,求其他点的权值使得最终的图的边权和最小? 分析: 首先边与边之间异或操作,不太好直接处理,因为异或操作每一位运算相互独立,我们来逐位...
分类:其他好文   时间:2015-08-31 11:52:20    阅读次数:165
用异或操作实现的交换函数用以实现数组逆置中需要注意的问题
用元素交换函数实现数组逆置很简单,如下面代码:(数组左右元素交换) #include #include using namespace std; void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } int main() { int a[5] = { 1, 2, 3, 4, 5 }; int lenth = sizeo...
分类:编程语言   时间:2015-07-05 16:45:10    阅读次数:189
BZOJ4134: ljw和lzr的hack比赛
每次操作实际上相当于把点到根上所有点消除。$O({n^2})$暴力显然,用trie维护每棵子树的后继局面,然后需要进行trie树异或操作和tire树合并操作。异或操作直接打标记合并操作前,类似启发式合并,先把子树较小的的标记全部下放,然后全部按照另一棵的标记转好,然后把它合并到另一颗里面去。正确性因...
分类:其他好文   时间:2015-06-16 20:58:57    阅读次数:479
编程之美 快速找出机器故障问题
题目: 简化后问题:有很多机器id,其中只有一个或两个id被丢失,正常情况下每个id个数为2,请问如何找到丢失的id是几。java解法一实现:/*** 使用异或操作 X异或X等于0,X异或0等于X,所有元素异或结果就是丢失的元素* 如果丢失id个数为2,异或结果就是A异或B的结果,然后将数组分成两....
分类:其他好文   时间:2015-05-14 20:26:04    阅读次数:117
两个int整数m和n的二进制表达有多少个位不同
题目描述世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299 输出例子: 7题目分析二进制中,统计两个数的相应位(bit)相同可以采用异或操作,异或运算结果相同为0不同为1。所以两个数异或的结果中1就是相同位数。...
分类:其他好文   时间:2015-05-08 00:08:33    阅读次数:274
(数组)只出现一次的数
题目:1、给一数组,所有的数都出现了两次,只有一个数出现了一次,求这个数。2、给一数组,所有的数都出现了两次,只有两个数出现了一次, 求这两个数。思路:位运算1、将数组里所有的数都做异或操作,因为相同的数异或之后就等于0,所以结果就是只出现一次的那个数。2、同样将数组里所有的数做异或操作,相同的数异...
分类:编程语言   时间:2015-05-03 11:50:33    阅读次数:141
数组中只出现一次的数字 40
分析问题 任何一个数字异或它自己都等于0,通过这个思想遍历数组,用一个result累计异或操作,如果遇到某一个数两次,必定消除了异或操作,换句话说就是如果我们从头依次异或数组中的每一个数字,那么最终的结果应该是那个只出现一次的数字 要想说的更明白一点不如举个例子 实例 比如int[] array={...
分类:编程语言   时间:2015-05-02 18:01:33    阅读次数:198
转:用异或实现两个数的交换的问题
void swap(int &a,int &b){a^=b;b^=a;a^=b;}^ 在 C 里面是按位异或操作符。异或运算的原理应该清楚吧?相同的话异或的结果就是 0,不同的话就是 1。举个例子,比如 a 表示十进制的 5,b 表示十进制的 12,按位异或结果就是:a = 0101 (5 的二进制...
分类:其他好文   时间:2015-04-17 17:38:31    阅读次数:118
ZOJ 3591 Nim 前缀和+位运算
题意:通过他给的代码,跑出 n个数a【i】。 然后取任意多个连续的数,让他们 异或操作。 计算有多少种取法,使操作后结果为0. 做法:连续就想到了前缀和。 把前i个a的异或操作结果放在 num[i]中, 那么a【i】到a【j】个数的异或结果就是 num[j]^num[i-1]。 还有num【i】自身代表了开头到a【i】这些数的异或结果。 然后只要计算有多少num【i】为0,以及多少 num[j]^num[i-1] 为0就行了。再把总方案数 c(n,2)减去为0的个数,就是答案了。但是普通...
分类:其他好文   时间:2015-04-07 21:44:43    阅读次数:231
116条   上一页 1 ... 8 9 10 11 12 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!