
数论
Byte97
刷题就好...
展开
-
欧拉函数O(sqrt(n))
利用的是工式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/3)=4原创 2014-10-15 15:46:44 · 1096 阅读 · 1 评论 -
博弈论—Nim游戏
Nim游戏的数学理论论述:Nim游戏是博弈论中最经典的模型,它又有着十分简单的规则和无比优美的结论Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每次一步,选手可以在转载 2014-10-27 16:12:18 · 893 阅读 · 0 评论 -
欧几里得拓展定理
{ 依据gcd(a,b)=gcd(b,a mod b); 设ax1+by1=gcd(a,b)=1 则bx2+(a mod b)y2=gcd(b,a mod b); ax1+by1=bx2+(a mod b)y2; ax1+by1=bx2+(a-[a/b]*b)y2=ay2+bx2-(a/b)*by2; 根据恒等定理得:x1=y2; y1=x2-[a/b]*原创 2014-10-09 18:05:46 · 397 阅读 · 0 评论 -
快速乘
快速幂不多说,当两个int64xiangcheng原创 2014-10-14 18:07:30 · 495 阅读 · 0 评论 -
排列组合问题求解
例题1:若a1个b1,a2个b2,a3个b3,……,an个bn排成一列,共有x种排列方法,其中: x=(a1+a2+a3+……+an)!/(a1!*a2!*a3!*……*an!)例题2:有r个相同的小球,放入n个不同的盒子中(不允许有空盒),共有y种放法,其中: y=C(n-1,r-1);例题3:有r个相同的小球,放入n个不同的盒子中(允许有盒子不原创 2014-10-14 18:37:02 · 636 阅读 · 0 评论 -
欧几里德算法及其拓展算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r转载 2014-10-13 11:48:53 · 540 阅读 · 0 评论 -
ST解决RMQ问题
Sparse Table即稀疏表算法(ST 算法)。它的基本方法就是DP。F[i][j]表示从i往后数2^j个数字中的最大/最小值,即区间[i,i+2^j-1]的最值。采取二分的思想f[i][j]=max{ f[i][j-1] , f[i+2^(j-1)][j-1] }然后用DP进行求解即可。 查询:[m,n]先求出一个最大的k满足2^k于是我们把[m,n]分成了两转载 2014-10-09 18:24:56 · 437 阅读 · 0 评论