数论
文章平均质量分 85
而濡木染
不赶时间也奔跑
展开
-
欧几里得和扩展欧几里得算法
欧几里得算法又称辗转相除法,是求解两个数的最大公约数的算法,基本定义为:设 a=qb+r,其中a,b,q,r都是整数,则:gcd(a,b)= gcd(b,r)利用递归实现该算法:long long gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}辗转相除法的应用:(水题)nef原创 2016-03-13 16:21:36 · 665 阅读 · 0 评论 -
51Nod 1013 3的幂的和 (快速幂取模+逆元)
51Nod 1013 3的幂的和 (快速幂取模+逆元):http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1013题面描述:1013 3的幂的和基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注求:3^原创 2016-08-17 18:29:06 · 631 阅读 · 0 评论 -
素数筛选和合数分解
具体代码实现如下:#include #include using namespace std;const int MAXN=100000;///MAXN的大小与题目规模有关int prime[MAXN+1];void getPrime(){ memset(prime,0,sizeof(prime)); for(int i=2;i<=MAXN;i++) {原创 2016-08-23 16:07:55 · 731 阅读 · 0 评论 -
hdu5317 RGCDQ (素数筛+递推方程)
hdu5317 RGCDQ (素数筛+递推方程):http://acm.split.hdu.edu.cn/showproblem.php?pid=5317题面描述:RGCDQTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission原创 2016-08-24 16:40:58 · 596 阅读 · 0 评论 -
hdu5832 A water problem (大数求余)
hdu5832 A water problem (大数求余):http://acm.hdu.edu.cn/showproblem.php?pid=5832题目描述:合训练的同学们~ A water problemTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65原创 2016-08-15 10:22:02 · 582 阅读 · 0 评论 -
高斯消元训练
EXTENDED LIGHTS OUTTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 6443Accepted: 4229DescriptionIn an extended version of the game Lights Out, is a puzzle with 5原创 2016-09-06 20:33:07 · 436 阅读 · 0 评论 -
2016大连ACM D.ASimple Math Problem
2016大连ACM D.ASimple Math Problem题目链接:代码实现:#include #include #include using namespace std;long long gcd(long long a,long long b){ if(b==0) return a; else return gcd(b,a原创 2016-10-23 20:53:27 · 1117 阅读 · 0 评论 -
hdu5478 Can you find it+快速幂
hdu5478 Can you find it+快速幂 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5478题面描述:Can you find itTime Limit: 8000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total原创 2016-10-26 19:31:37 · 411 阅读 · 0 评论 -
2016弱校联盟十一专场10.5 F. Fibonacci of Fibonacci
2016弱校联盟十一专场10.5 F. Fibonacci of Fibonacci 题目链接:https://acm.bnu.edu.cn/v3/problem_show.php?pid=52322题面描述:题面描述:Find FFn mod 20160519.题目分析:由于斐波那契数对M求模运算一定会产生循环节,而这个第一层循环节原创 2016-10-06 15:55:51 · 506 阅读 · 0 评论 -
2016ACM/ICPC亚洲区沈阳站1003题 Recursive sequence +构造矩阵+矩阵连乘
2016ACM/ICPC亚洲区沈阳站1003题 Recursive sequence +构造矩阵+矩阵连乘题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1003&cid=733题面描述:Recursive sequenceTime Limit: 2000/1000 MS (Java/Other原创 2016-10-30 16:13:47 · 758 阅读 · 0 评论 -
欧拉函数和费马小定理(基础题题解)
poj 2407 Relatives#include #include using namespace std;long long phi(long long n){ long long res=n; for(long long i=2;i*i<=n;i++) {///任何一个合数都至少有一个不超过根号n的素因子,复杂度为根号n if(n%原创 2017-03-14 20:40:39 · 1026 阅读 · 0 评论 -
构造矩阵+矩阵连乘+fibonacci
hdu1021 链接:点击打开链接题目解析:找规律;小乔出嫁了—周期;循环节。对4求模余2即可代码实现:#include #include using namespace std;int main(){ /*int a[100]; a[0]=7; a[1]=11; for(int i=2;i<=30;i++) { a[原创 2017-04-19 19:28:15 · 568 阅读 · 0 评论 -
fibonacci扩展+矩阵连乘
dhu1757 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757题目分析:标准的构造矩阵矩阵连乘问题代码实现:#include #include using namespace std;const long long maxn=10;long long mod;long long data[maxn];long lo原创 2017-04-23 09:21:00 · 301 阅读 · 0 评论 -
高次同余方程(Baby-Step Giant-Step)
Discrete LogarithmProblem 网页链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=121425#problem/D 传送门:nefu题目描述:题目大意:模板题,a^x=b(mod p) p为素数和不是素数都可以代码实现:#include #include #原创 2016-07-10 19:34:46 · 703 阅读 · 0 评论 -
HDU 4320 Arcane Numbers 1
HDU 4320 Arcane Numbers 1 :http://acm.hdu.edu.cn/showproblem.php?pid=4320题面:Arcane Numbers 1Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss原创 2016-03-27 14:56:27 · 707 阅读 · 0 评论 -
HDU 4704 Sum
HDU 4704 Sum :http://acm.hdu.edu.cn/showproblem.php?pid=4704题目描述: SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2067 Accep原创 2016-03-26 14:55:42 · 636 阅读 · 0 评论 -
HDU 3538 R(N)
HDU 3538 http://acm.hdu.edu.cn/showproblem.php?pid=3835也是一道卡时间的题目,用正常的思路写,for循环两次,依次寻找A和B是过不了的,则要去改变算法,在找到A的情况下,再去判断B是否满足条件,这样就可以降低复杂度,找到满足平方条件的A和B之后,再用判断A、B是否同时不为0,若A为0或者B为0,则这样的数据要被记录两次,即(0,B)和(0,原创 2016-03-12 20:04:51 · 549 阅读 · 0 评论 -
整除
数论中的整除问题涉及整除的定义,性质,有关整除问题的证明和整除问题的应用等。先来看两道水题:(一)hdu 2099 整除的尾数: http://acm.hdu.edu.cn/showproblem.php?pid=2099 题面描述很简单,数据量也不大,正常做即可,但是需要注意的是,输出格式一定要正确,,代码中sum的设定很有必要,可以巧妙的实现数据结尾没有空格而只有回车换行。#in原创 2016-03-12 10:33:44 · 620 阅读 · 0 评论 -
The equation 之深入理解扩展欧几里得
为了更加深入的理解和应用欧几里得和扩展欧几里得算法,选择这样的一个题目来进行详细讲述:The equation http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/H由于此题目需要分析的思路和过程比较多,除了代码实现外,我就直接手写了,字体有待改进,敬请谅解。不带返回值的扩展欧几里得代码实现:(原创 2016-03-16 13:15:25 · 446 阅读 · 0 评论 -
Maximum GCD + ungetc()函数的使用
Maximum GCD : http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/F有关最大公约数的问题已经处理了一万道了,虽然这个题的数据比较小,但是由于题目要求的输入比较不一般,还是想了好久才敢继续做下去。本题的关键就是在于一个把一个或多个字符退回的输入流函数有关——ungetc(),还有其中对'\n'原创 2016-03-16 14:23:34 · 636 阅读 · 0 评论 -
Harmonic Number 调和级数
今天做了一道关于调和级数的题目,之前接触有关级数的“神马”还是在高数上,当时只是研究了调和级数的发散还是收敛等关系,10^8那么大的数据正常跑肯定会超时不是,一直都不知道对于这个伟大的级数来说,还有一个计算它的公式,浅尝辄止了,不该,不该。。。今天特地去问了度娘,公式是能用,但是对于这个题目的数据来说,还是需要一点小技巧的,具体分析如下:Harmonic Number :http://acm.原创 2016-03-17 11:29:58 · 1828 阅读 · 3 评论 -
Pairs Forming LCM 素数筛和素因子分解
Pairs Forming LCM :http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/B 密码:nefu一个题目分了好几波才把它完全搞明白,公式还是很多的,直接偷懒上手写了。这次写的也是比较啰嗦,但却是自己的思路,先来两个素数筛的代码,再原创 2016-03-18 21:06:34 · 517 阅读 · 0 评论 -
Sigma Function
Sigma Function :http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/C 密码:nefu题目大意:已知Sigma函数表示的是该数的所有因子的和,要求出从1到n,Sigma函数的值为偶数的数的个数。PC-大致分析:由于n比较大,从1到n遍历肯定会超时,而且对于每一个i都要进行判断其Sigma函原创 2016-03-20 21:09:59 · 1730 阅读 · 0 评论 -
hdu 1695 GCD (欧拉函数+容斥原理+素因子分解)
hdu 1695 GCD (欧拉函数+容斥原理+素因子分解) :http://acm.hdu.edu.cn/showproblem.php?pid=1695题面描述:Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8787原创 2016-04-02 17:29:48 · 615 阅读 · 0 评论 -
UVA 11806 Cheerleaders (容斥原理+二进制枚举)
UVA 11806 Cheerleaders (容斥原理+二进制枚举) :http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110771#problem/G 传送门:nefu题目大意:往一个n*m的格子内部放k个石子,要求四个边上必须都有,求所有放置石子的方法数。题目分析:由于正常去做需要考虑的情况种类数比较多,所以我们反原创 2016-04-02 21:48:11 · 610 阅读 · 0 评论 -
HDU 1452 Happy 2004 快乐2004
HDU 1452 Happy 2004 快乐2004 :http://acm.hdu.edu.cn/showproblem.php?pid=1452题面:Happy 2004Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s原创 2016-03-21 20:40:05 · 528 阅读 · 0 评论 -
数论专题训练2016.3.21
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110042#overview 密码:nefu一些题目相对简单了些:A题POJ2478: http://poj.org/problem?id=2478题面描述:Farey SequenceTime Limit: 1000MS原创 2016-03-22 17:50:20 · 663 阅读 · 0 评论 -
高精度计算N!
计算N的阶乘,应用高精度计算,追求一题多解!(N由于N是小于10000的,可以输入,则选择用INT型的大数即可,用数值型的高精度。方法一:#include #include #include using namespace std;int main(){ const int maxn=50000; int n,c,k; int f[maxn+1]原创 2017-05-17 09:02:17 · 976 阅读 · 0 评论