ACM_数论
文章平均质量分 68
runninghui
这个作者很懒,什么都没留下…
展开
-
卡特兰数
卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡特兰公式的应用很广泛,最典型的四种应用问题现描述如下:1.括号化问题。 矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)2.出栈次序原创 2013-04-12 14:23:13 · 971 阅读 · 0 评论 -
博弈分析(取石子游戏的数学问题)
取石子问题有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。转载 2013-02-22 00:53:42 · 1014 阅读 · 0 评论 -
扩展欧几里德算法解线性方程ax+by=c
问题:ax+by=c,已知a、b、c,求解使该等式成立的一组x,y。其中a、b、c、x、y均为整数a,b的最大公约数为gcd(a,b)。如果c不是gcd(a,b)的倍数,则该等式无解,因为等式左边除以gcd(a,b)是整数,而等式右边除以gcd(a,b)后为小数。因此,只有当c是gcd(a,b)的倍数的时候,该等式有解。这样,可以通过计算使ax1+by1=gcd(a,b)成立的x1转载 2013-03-19 13:19:34 · 2019 阅读 · 0 评论 -
快速幂
为何叫快速幂呢?显然是幂运算的快速方法。我们计算A^n的朴素的方法就是循环n次来求幂咯,这样便得到O(n)时间复杂度的方法,其实大家都想得到一种优化的方法即A^n=A^(n/2)*A^(n/2),一直递归下去,其间就可以省略很多不必要的计算,得到O(logn)的方法。下面就介绍一种用二进制方法求快速幂的运算。我们用二进制来代替幂n,比如10的二进制为1010(二进制相信大家都会)这原创 2013-05-09 13:43:12 · 2701 阅读 · 0 评论 -
欧拉函数
定义:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。简介:φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……p原创 2013-08-07 21:17:00 · 1042 阅读 · 0 评论 -
丑数
题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。分析:这是一道在网络上广为流传的面试题,据说google曾经采用过这道题。所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n % m == 0。根据丑数的定义,丑数只能被2原创 2013-09-07 10:43:30 · 1140 阅读 · 0 评论 -
扩展欧几里得
辗转相除法求最大公约数,相信大家都在高中学过了,它也叫做欧几里得算法。那么扩展欧几里得算法呢?它也能求出两个数的最大公约数,不过这不是他的目的,他用来解一个线性方程组扩展欧几里德定理对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。这个方程是成立的,这我们不给予证明原创 2013-05-14 17:12:09 · 880 阅读 · 0 评论 -
三分搜索
二分搜索方程的根大家应该都明白,即在给定的函数是单调函数的情况下,我们可以不断的二分来搜索方程的根单是对于凸函数来说二分就不行了什么是凸函数了,大家看图就明白了当然开口向上当然也是 算法比较简单,我们直接讲解模板#include #include #include using namespace std;const double eps = 0.000000原创 2013-05-09 18:28:37 · 1133 阅读 · 0 评论