按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。另,负数按补码形...
分类:
其他好文 时间:
2014-12-12 18:48:33
阅读次数:
145
题目和上题类似,这里给的数组仅有一个数出现一次,其他的出现3次。返回那个出现一次的数。这题还是比较难想到的。不想上一题只要异或一下就可以了,不用额外操作。法一:还是用map方法class Solution {public:int singleNumber(int A[], int n){ un...
分类:
其他好文 时间:
2014-12-12 13:06:29
阅读次数:
135
题目链接:点击打开链接
Nim博弈。裸题。必败状态为 n堆物品数目的异或值为0.否则必胜。(先手)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define maxn 10100...
分类:
其他好文 时间:
2014-12-11 19:12:44
阅读次数:
149
题目大意:给定一个【魞歄连通图】,多次询问当图中某k条边消失时这个图是否联通 强制在线
我们找到这个图的任意一棵生成树 然后对于每条非树边将其的权值赋为一个随机数
对于每条树边 我们将这条树边的权值设为所有覆盖这条树边的边权的异或和
那么图不连通当且仅当删除一条树边和覆盖这条树边的所有边集 而由于刚才的处理一条树边和覆盖这条边的所有边集的异或和为零
于是问题转化成了对于给定的k条边是否存在...
分类:
其他好文 时间:
2014-12-11 15:59:50
阅读次数:
206
1. 传值调用机制 ( call- by-value machanism )
(1). 在形参位置插入的是实参的值。如果实参是变量,则插入的只是变量的值,而非变量本身。
(2). 传值调用形参是局部变量。调用函数时,该函数的形参被初始化为实参的值。
eg:
void swap (int x, int y)
{
int temp;
temp = x;
x = y;...
分类:
编程语言 时间:
2014-12-10 10:50:54
阅读次数:
173
这几天找实习被打击的太厉害了,从今天开始修炼算法。在Leetcode找了半天,只有这一道题会,顺手AC掉。
题目描述:有一个数组,里面的数几乎都是成对出现的,但有一个数只有一个,你的任务就是找出这个单个的数。
思路:按位异或直接搞定。
贴上代码吧,特别简单
public class Solution {
public int singleNumber(int[] A) {
...
分类:
其他好文 时间:
2014-12-08 23:02:14
阅读次数:
219
一. 模仿树的的先序遍历。范围是1000个节点。用数组存储节点的信息。二. 要注意的是,头结点是不确定的,所以在前序遍历之前要找出头结点,除了头结点的下标值出现一次之外,其他结点的下标值都会出现两次,根据这个特征可以利用异或运算(^),算出头结点。三. 源码 1 // 2 // main.cpp ....
分类:
其他好文 时间:
2014-12-08 21:16:50
阅读次数:
171
3261: 最大异或和Time Limit: 10 SecMemory Limit: 512 MBSubmit: 543Solved: 237[Submit][Status]Description给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型:1 、A x:添加操作...
分类:
其他好文 时间:
2014-12-04 19:50:41
阅读次数:
242
直接不会,预估时间复杂度,对于C(n,m) 到规模为500就瞎了。当时也想算法应该接近常数级别的。
如果真的算必然跪。回头看了下解题报告。
话说比赛很喜欢考异或,“位”思想,组合问题
对于计算选取k个数字时候,分别计算各个位上可能出现的情况,然后计算各个位上的累加和。即便一个数字可由很多位组成但是每次计算一个位
记录每一位上1的个数(这里只需要32位),对于第i天,必须要选出奇数个1才能...
分类:
其他好文 时间:
2014-12-03 21:22:16
阅读次数:
172
一、 位运算符在一般的应用中,我们基本上用不到位运算符。虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大。位运算符有七种,分别是:位非 NOT(~)、位与 AND(&)、位或 OR(|)、位异或 XOR(^)、左移(>)、无符号右移(>>>)。var box = ~25...
分类:
其他好文 时间:
2014-12-03 16:58:49
阅读次数:
246