数论
文章平均质量分 66
漩涡梦幻
有志者,事竞成,破釜沉舟,百二秦关终属楚 。 苦心人,天不负,卧薪尝胆,三千越甲可吞吴 。
展开
-
欧几里得算法与欧几里的扩展算法
一:欧几里得算法 1,欧几里德算法又称为辗转相除法,主要用于计算两个整数a,b的最大公约数。 2,原理://递归写法int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}//非递归的int gcd(int a,int b){ while(b) { int原创 2015-08-10 10:40:23 · 567 阅读 · 0 评论 -
poj1061(青蛙的约会)(欧几里得扩展原理应用)
一:题意 : 该题是poj上稀有的中文提,他说得是,有两个青蛙在赤道上跳跃,走环路。起始位置分别为x,y。每次跳跃距离分别为m,n。赤道长度为L。两青蛙跳跃方向与次数相同的情况下,问两青蛙是否有方法跳跃到同一点。输出最少跳跃次数。 二:解析 假设两只青蛙跳z不后相遇,所以就有 :(x+m*z) - (y+n*z) =k*L(1) (其中看为一常数) 我们要求的是就是z,且k是个变量,原创 2015-08-10 11:22:35 · 442 阅读 · 0 评论 -
Hdu 3579 Hello Kiki(同余模方程组)
题意:要求求解出H,其中H%Mi=Ai ; 其中i=1,2,,,,,N; 样例说明: T N M1,M2,,,,,Mn A1,A2,,,,,,An 其实该题是要求我们解这样一个方程组: 首先先介绍一下同于方程组的解发; 一:解二元一次非其次方程组 令方程组为: ax + by = c (1) 看到这式子我们首先要想到的就是欧几里得扩展原里,即若c为a与b的最大公原创 2015-08-09 22:37:10 · 1201 阅读 · 2 评论 -
poj 2478 Farey Sequence 线性筛法优化的欧拉函数
一:题意: 给定一个数n,求在[1,n]这个范围内两两互质的组合数,该题其实就是求,[2,n]分区间内的所以数组的欧拉函数之和,其中n (2 <= n <= 106)。 二:欧拉函数的概念 1,欧拉函数: 对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,叫做该数的欧拉函数,记作φ(n) 。例如φ(8)=4,因为1,3,5,7均和8互质。 2,欧拉函数计算: (1) 通式原创 2015-08-10 15:51:35 · 563 阅读 · 0 评论 -
poj 1845 Sumdiv
题目链接:http://poj.org/problem?id=1845一,题意: 给定两个整数A,B,要求出A的B次幂,所有因子之和(要求%9901)。二,分析:1,我们知道每一个整数A都可以唯一的分解成若干素数幂的乘积,这些素数就是A的质因数:2,对于A 所有约数和我们有公式:3,我们在求解:是应用了二分等比数列求和法我们利用递归方法可以原创 2015-08-25 19:05:00 · 472 阅读 · 0 评论 -
逆元 + 费马定理 + 欧拉定理
一,逆元:先让我们考虑如何求解线性同余方程 :a * x ≡ b ( mod m ) (1)(x为一个变量)。对于方程:a * x = b ,由于a存在倒数1/a ( a * y = 1,y为a的倒数) 所以我们可以很容易求解出该方程。如果 在(1)模运算中也存在类似于倒数的数y,这样我们就能很快的求解出(1)方程。 x = b * y; 在这里我们称y为a 的逆元,1原创 2015-08-26 09:33:34 · 2120 阅读 · 0 评论 -
poj 1830 开关问题 (高斯消元)
题目链接:http://poj.org/problem?id=1830一,题意:该题是中文提,题意我就不解释了。二,解析:该题我们先的建立一个图,我们以开关为节点,若开关x的变化会影响y开关,则连一条x到y的有向边。然后我们用邻接矩阵来存储该图。则邻接矩阵中0表示不影响,1表示反转。例如:样例一, 开始状态为 0 0 0 最终状态为: 1 1 1原创 2015-08-16 16:29:09 · 714 阅读 · 0 评论 -
高斯消元模板
高斯消元:其实就是用矩阵初等变换解线性方程组,只是他要求每次选取的主元一定要是最大值。模板#include #include #include #include using namespace std;const int MAXN=10000;int a[MAXN][MAXN];//增广矩阵int x[MAXN];//解集bool free_x[MAXN];//标记是否原创 2015-08-16 19:40:12 · 552 阅读 · 0 评论