码迷,mamicode.com
首页 >  
搜索关键字:c语言 交换变量 异或 不创建临时变量    ( 3515个结果
博弈论之Nim
博弈论(一):Nim游戏重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合...
分类:其他好文   时间:2015-03-10 15:15:57    阅读次数:239
两个数交换的三种方式
记得刚开始学C++的时候,也做过两个数的交换,当时只用过下面的第一种和第三种方法,今天在看传智播客Java视频教程的时候,学到了另两种方式假设a=10,b=20,交换a,b的值方法一,使用第三方的变量,也是最常用的方法int c=a;a=b;b=a;方法二,位异或运算a=a^b;b=a^b; ...
分类:其他好文   时间:2015-03-10 10:19:11    阅读次数:165
vbScript常用运算符与函数
基本运算 +数字加法及字符串连接 -数字减法 *数字乘法 /数字除法 Mod求余数 \求商数 &字符串连接 ^次方 =相等 不相等 >=大于或等于 >大于 <=小于或等于 <小于 Not非 And且 Or或 Xor异或 循环及决策 if....then若.....
分类:其他好文   时间:2015-03-10 00:05:49    阅读次数:188
【手动开栈】【dfs序】【树状数组】【Tarjan】bzoj2819 Nim
考虑树状数组区间修改(只对其子树的答案有影响)点查询,每个点记录的是它到根路径上的权值异或和。答案时query(L)^query(R)^a[lca]。这种方法在支持区间加法、减法的树上询问的时候可以避免树链剖分。可能爆栈,考虑手动开栈。(诶诶Tarjan预处理lca的时候怎么没手动开栈?不要在意^_...
分类:编程语言   时间:2015-03-09 22:26:08    阅读次数:216
NYOJ528 找球号(三)位运算
这个题用位运算就非常简单了,前提是首先熟悉位运算,这里用到一个异或运算,也就是 ^ 这个符号,他的运算规则是:相同为0,不同为1。知道了这个之后,就容易想到相同的两个数异或之后为0,所以下面很关键的一步,也是我想了好久也没想起来的一步,就是把所有的数都异或一遍,那么最后剩下的一定是那个一个的,还有一...
分类:其他好文   时间:2015-03-09 22:23:18    阅读次数:223
UVa 11859 (Nim) Division Game
把每一行m个数所有的素因子看做一堆,就把问题转化为n堆的Nim游戏。然后预处理一下10000以内每个数素因数的个数,再根据书上的Bouton定理,计算一下n行素因数个数的异或和。为0是先手必败局面,输出NO,否则输出YES 1 #include 2 #include 3 4 const int...
分类:其他好文   时间:2015-03-09 14:23:26    阅读次数:173
交换两个变量的值,不使用第三个变量(两种方法)
//交换两个变量的值,不使用第三个变量。 //有两种解法, 一种用算术算法, 一种用^(异或) //异或:相同为0,不同为1。相当于减法。 #include int main() { int a = 8; int b = 9; printf("初始状态:a = %d, b = %d\n",a,b); a = a + b; b = a - b; a = a - b; ...
分类:其他好文   时间:2015-03-09 12:51:24    阅读次数:166
异或“∧”运算的作用
异或运算法则:相同为0,不同为1 异或运算符∧也称XOR运算符。 它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。 即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,结果为023(八进制数)。 “异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则为(0)。     下面举例说明∧运...
分类:其他好文   时间:2015-03-06 17:03:54    阅读次数:181
【可持久化Trie】bzoj3261 最大异或和
对原序列取前缀异或值,变成pre[1...N],然后询问等价于求max{a[N]^x^pre[i]}(l-1#define INF 2147483647#define N 300001#define MAXBIT 25int root[N=0;--i) { int Bit=(...
分类:其他好文   时间:2015-03-06 12:39:52    阅读次数:105
异或校验和算法
在数据传输或者数据下载过程中,通常要保证数据的可靠性和安全性,所以,发送方和接收方要约定共同的协议,而这个协议中常常会出现校验和的运算。C代码如下: 1 unsigned char calc_nmea_checksum(const char * setence) 2 { 3 unsigned...
分类:编程语言   时间:2015-03-06 09:36:25    阅读次数:201
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!