随笔分类 -  Algo__数论

摘要:不容易系列之一 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20941 Accepted Submission(s): 8937 Proble 阅读全文
posted @ 2017-04-14 13:41 kimsimple 阅读(403) 评论(0) 推荐(0)
摘要:感谢:http://blog.csdn.net/u014634338/article/details/40210435 扩展欧几里德算法的应用主要有以下三方面: (1)求解不定方程; (2)求解模的逆元; (3)求解模线性方程(线性同余方程); 一、解不定方程 对于不定整数方程pa+qb=c, 1. 阅读全文
posted @ 2017-04-08 11:08 kimsimple 阅读(317) 评论(0) 推荐(0)
摘要:扩展欧几里得算法模板 1.对于形如a*x0 + b*y0 = n的不定方程为了求解x0和y0,可以通过扩展欧几里得先求出满足a*x + b*y = gcd(a, b)的x和y。 2.容易得到,若(x-y)%gcd(a,b)==0,则该不定方程有整数解,否则无符合条件的整数解。 3.得到x和y后,可以 阅读全文
posted @ 2017-04-08 10:58 kimsimple 阅读(701) 评论(0) 推荐(0)
摘要:感谢http://www.cnblogs.com/oscar-cnblogs/p/6428920.html 题目描述 :一个双六(类似大富翁的桌上游戏)上面有向前 向后无限延续的格子, 每个格子都写有整数。其中0号格子是起点,1号格子是终点。而骰子上只有a,b,-a,-b四个整数,所以根据a和b的值 阅读全文
posted @ 2017-04-08 09:35 kimsimple 阅读(415) 评论(0) 推荐(0)
摘要:线段上格点的个数 何为格点? 横纵坐标均为整数的点,可以将坐标面看做一个二维表,线段即两个点为顶点的矩形的对角线,线段由格点组成 问题: 给定平面上的两个格点P1(x1,y1)和P2(x2,y2),线段上P1P2上,除P1和P2以外一共有多少格点 方法1: 虽然可以用穷举法,遍历min(x1,x2) 阅读全文
posted @ 2017-04-08 08:35 kimsimple 阅读(844) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2157 How many ways?? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S 阅读全文
posted @ 2017-03-21 23:28 kimsimple 阅读(851) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/exponent/archive/2011/08/09/2131960.html 设n为正整数,以 φ(n)表示不超过n且与n互素的正整数的个数,称为n的欧拉函数值 φ:N→N,n→φ(n)称为欧拉函数 φ函数的值 通式:φ(x)=x(1-1/p1)(1 阅读全文
posted @ 2017-03-01 23:46 kimsimple 阅读(857) 评论(0) 推荐(0)
摘要:二分幂又叫快速幂 它的主要功能是计算 a^b%p (模 p可有可无) 。 时间复杂度为O(logN) 举个例子:不妨设 a=107,b=102,p=1000000007,如果我们求出了 x=a^51%p, 那么 x^2%p就是答案。 那么下面就是求 a^51:我们求出了 x=a^25,那么 x^2* 阅读全文
posted @ 2017-03-01 23:45 kimsimple 阅读(803) 评论(0) 推荐(1)
摘要:学习:扩展欧几里德算法详解 欧几里德有个十分有用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 b 的最大公约数了,这就是欧几里德算法 扩展欧几里德: 现在我们知道了a 和 b 的最大公约数是 gcd ,那么,我们一定能 阅读全文
posted @ 2017-02-13 23:26 kimsimple 阅读(199) 评论(0) 推荐(0)
摘要:取模: a%b b定是正整数,尽管语言上b<0合法。/b=0出现除0错 (a+b)mod n=((a mod n)+(b mod n)) mod n (a-b)mod n=((a mod n)-(b mod n)+n)mod n //注意减法, a mod n 可能小于 b mod n 结果需加上n 阅读全文
posted @ 2017-02-13 22:32 kimsimple 阅读(1459) 评论(0) 推荐(0)
摘要:3 4 5 3^2+4^2=5^210 11 12 13 14 10^2+11^2+12^2=13^2+14^2左边n+1个右边n个自然数question:输入一个数n(1<=n<=1000)判断是否存在2*n+1个连续的自然数满足上式设中间数字为x(x-n)^2+(x-n+1)^2+...+x^2 阅读全文
posted @ 2017-02-13 22:32 kimsimple 阅读(576) 评论(0) 推荐(0)
摘要:素数/质数/prime number除了1和它本身以外不再有其他的除数整除,最小的质数是2。 质数具有许多独特的性质:(1)质数p的约数只有两个:1和p。(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。(3)质数的个数是无限的。(4)质数的 阅读全文
posted @ 2017-02-09 23:50 kimsimple 阅读(291) 评论(0) 推荐(0)
摘要:/** Function:数论-最大公因数 最小公倍数 Date:2017-2-9 Compiler:CodeBlocks16.01*/#include "iostream"#include "string"#include "cstdio"using namespace std;1.最大公约数/因 阅读全文
posted @ 2017-02-09 17:19 kimsimple 阅读(379) 评论(0) 推荐(0)
摘要:1 /** 2 Function: ()()()()x()=()()()() 3 Developer: 4 Date: 5 6 */ 7 8 #include "iostream" 9 #include "cstdlib" 10 #include "string" 11 #include "cstdio" 12 #include "ctime" 13... 阅读全文
posted @ 2016-12-02 09:44 kimsimple 阅读(325) 评论(0) 推荐(0)
摘要:///大整数取模/**输入正整数n m输出n mod m n<=10^100 m<=10^9*/ 将大整数写成自左向右形式:1234=((1*10+2)*10+3)*10+4 阅读全文
posted @ 2016-08-17 10:47 kimsimple 阅读(362) 评论(0) 推荐(0)
摘要:1 //HDU 1164 2 //输入一个数(1<x<=65535) 转化为素数的乘积() 3 4 #include "iostream" 5 #include "cstdio" 6 using namespace std; 7 8 int p[65535];//筛法求素数 9 10 void pr 阅读全文
posted @ 2016-07-14 16:40 kimsimple 阅读(155) 评论(0) 推荐(0)