计算机_算法_数论
franztao
不想说话
展开
-
(A^B mod C)|(a^(n!) mod c)
1.当a,b,c 都比较小的时候,可以使用赤裸裸的暴力 伪代码: v:=1; for i := 1 to b begin v:=v*a; v:=v mod c; end 这也是我们在第一次遇到这种问题的时候首先能想到的. 2.a,b,c都比较大的时候 这里需要考虑c的大小了,假设c*c b比较大的话使用1的方法显然时间上是承受不了的,所以可以利用所谓的二分法. b=b转载 2015-03-13 09:58:34 · 1022 阅读 · 0 评论 -
五边形数定理
五边形数定理是一个由欧拉发现的数学定理,描述欧拉函数展开式的特性。欧拉函数的展开式如下: 亦即 欧拉函数展开后,有些次方项被消去,只留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数。 若将上式视为幂级数,其收敛半径为1,不过若只是当作形式幂级数(formal power series)来考虑,就不会考虑其收敛半径。原创 2015-03-13 10:03:49 · 943 阅读 · 0 评论 -
查分约束系统
1.问题定义 差分约束系统属于线性规划问题。在一个差分约束系统中,线性规划矩阵A的每一行包含一个1和一个-1,A的所有其他元素都为0。因此,由Ax≤b给出的约束条件是m个差分约束集合,其中包含n个未知元。每个约束条件为如下形式的简单线性不等式:xj-xi≤bk(1≤i, j≤n,1≤k≤m)。如下图5维向量x满足8个不等式的差分约束,我们可以把未知量x1,x2,x3,x4,x5化为如转载 2015-03-12 16:15:25 · 582 阅读 · 0 评论 -
stirling数&bell数模板
const int N=2222; LL stirling2[N][N],bell[N]; LL mod=1000; void get_stirling2(int m,int n){ int mi,i,j; stirling2[0][0]=1; for(i=1;i stirling2[i][0]=0; } for(i=0;i stirli原创 2015-03-12 16:17:03 · 266 阅读 · 0 评论 -
测试素数_Miller Rabbin
伪素数:如果n是一个正整数,如果存在和n互素的正整数a满足a^n-1≡1(mod n),我们说n是基于a的伪素数。如果一个数是伪素数,它几乎肯定是素数。(即下面的费马小定理) 费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。 include原创 2015-03-14 09:25:49 · 460 阅读 · 0 评论