深入理解异或运算实例一.代码实现
#include<stdio.h>
intmain()
{
inta=10;
intb=12;
a=a^b;
b=a^b;
a=a^b;
printf("%d%d",a,b);
system("pause");
return0;
}二.异或性质每一个元素就是它自身的加法逆元(a^a=0)三.汇编分析1.取出a和b的值2.将a的值放在eax中..
分类:
编程语言 时间:
2016-02-14 08:04:34
阅读次数:
161
题目大概问小于等于m个的物品放到n个地方有几种方法。 即解这个n元一次方程的非负整数解的个数$x_1+x_2+x_3+\dots+x_n=y$,其中0<=y<=m。 这个方程的非负整数解个数是个经典问题,可以+1转化正整数解的个数用插板法解决:$C_{y+n-1}^{n-1}=C_{y+n-1}^y
分类:
其他好文 时间:
2016-02-07 17:22:41
阅读次数:
202
这题大概是,整数模9973乘法群?然后存在乘法逆元。 于是题目要求$A \div B \pmod {9973} $其实就相当于求$A \times B^{-1}\pmod {9973} $。 只要求出B的逆元就OK了。 计算模n下的乘法逆元可以用用扩展欧几里得算法求解,即解下面的线性同余方程: $$
分类:
其他好文 时间:
2016-02-04 11:33:24
阅读次数:
136
上一篇博文中说道了baby step giant step的方法(简称BSGS),不过对于XY mod Z = K ,若x和z并不互质,则不能直接套用BSGS的方法了。 为什么?因为这时候不存在逆元了啊,那么怎么办呢? 既然是x和z不互质,那么我们就想办法让他们互质,再套用BSGS的解法即可。(这就
分类:
其他好文 时间:
2016-02-03 20:51:23
阅读次数:
203
最近在学习数论,然而发现之前学的baby step giant step又忘了,于是去翻了翻以前的代码,又复习了一下。 觉得总是忘记是因为没有彻底理解啊。 注意baby step giant step只能用在b和p互质的情况下,因为只有b和p互质的情况下,b才有mod p下的逆元。(下面要用到逆元)
分类:
其他好文 时间:
2016-02-03 10:38:12
阅读次数:
229
什么叫高次同余方程?说白了就是解决这样一个问题: A^x=B(mod C),求最小的x值。 baby step giant step算法 题目条件:C是素数(事实上,A与C互质就可以。为什么?在BSGS算法中是要求a^m在%c条件下的逆元的,如果a、c不互质根本就没有逆元。) 如果x有解,那么0<=
分类:
其他好文 时间:
2016-02-02 22:25:21
阅读次数:
296
在p是素数的情况下,对任意整数x都有xp≡x(mod p)。这个定理被称作费马小定理其中如果x无法被p整除,我们有xp-1≡1(mod p)。利用这条性质,在p是素数的情况下,就很容易求出一个数的逆元。那上面的式子变形之后得到a-1≡ap-2(mod p),因此可以通过快速幂求出逆元。我们先来证明一...
分类:
其他好文 时间:
2016-01-27 14:33:17
阅读次数:
160
2016.1.26法一:直接根据定义式,求乘法逆元即可法二:借助关于n!mod p,那么根据C(n,k)的定义式并结合乘法逆元即可求解。法三:借助卢卡斯定理求解
分类:
其他好文 时间:
2016-01-26 22:02:01
阅读次数:
237
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1965找规律可知,设答案为x,有x*2^m%(n+1)=L然后快速幂+逆元就可以了。#include#include#include#include#include#include#define ...
分类:
其他好文 时间:
2016-01-14 20:49:49
阅读次数:
172