随笔分类 -  数论

摘要:m^p≡mmodp,n^p≡nmodp,所以m^p+n^p≡(m+n)modp#includeusing namespace std;#define inf 0x3f3f3f3f#define ll long longconst int maxn=200005;con... 阅读全文
posted @ 2018-08-26 17:48 MCQ 阅读(196) 评论(0) 推荐(0)
摘要:费马小定理(Fermat's little theorem)是数论中的一个重要定理,在1636年提出,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p),例如:假如a是整数,p是质数,则a,p显然互质(即两者只有一个公约数1),那... 阅读全文
posted @ 2018-08-26 17:29 MCQ 阅读(436) 评论(0) 推荐(0)
摘要:思路:由费马大定理知a^n+b^n=c^n当n>2时无整数解,所以n==0和n>2时输出-1 -1,n==1时输出1,a+1,n==2时,由奇偶数列法(https://blog.csdn.net/Dilly__dally/article/details/8208192... 阅读全文
posted @ 2018-08-26 16:42 MCQ 阅读(177) 评论(0) 推荐(0)
摘要:定理: 如a^2+b^2=c^2是直角三角形的三个整数边长,则必有如下a值的奇数列、偶数列关系成立; (一) 直角三角形a^2+b^2=c^2奇数列a法则: 若a表为2n+1型奇数(n=1、2、3 …), 则a为奇数列平方整数解的关系是: a=2... 阅读全文
posted @ 2018-08-26 16:40 MCQ 阅读(1536) 评论(0) 推荐(0)
摘要:公式:1 2 (d|n表示n是d的倍数)莫比乌斯函数:例题:HDU1695题目大意是这样的,给你 a , b , c , d , k 五个值 (题目说明了 你可以认为 a=c=1) x 属于 [1,b] ,y属于[1,d] 让你求有多少对这... 阅读全文
posted @ 2018-07-18 01:41 MCQ 阅读(130) 评论(0) 推荐(0)
摘要:const int MAXN = 1000000;bool check[MAXN+10];int prime[MAXN+10];int mu[MAXN+10];void Moblus(){ memset(check,false,sizeof(check)); ... 阅读全文
posted @ 2018-07-18 01:09 MCQ 阅读(160) 评论(0) 推荐(0)
摘要:题意:求满足gcd(x,n)>=m的x的个数,其中,1=m则ans+=phi(n/i),判断s*s是否等于n即如果是完全平方数的时候,只算一遍;如果不是完全平方数,为了计算根号n后面的s,比如6%2=0,则6%3也等于0,所以如果n/s>=m且不是完全平方数则有ans... 阅读全文
posted @ 2018-07-17 17:55 MCQ 阅读(192) 评论(0) 推荐(1)
摘要:参考大神https://blog.csdn.net/a27038/article/details/77203892 阅读全文
posted @ 2018-07-16 17:34 MCQ 阅读(143) 评论(0) 推荐(0)
摘要:直接套欧拉函数模板,链接:欧拉函数#include#include#include#include#include#include#include#include#include#include#include#include#include#include#incl... 阅读全文
posted @ 2018-07-16 16:57 MCQ 阅读(110) 评论(0) 推荐(0)
摘要:思路:设第x天高峰同时出现,则x≡p(mod23),x≡e(mod28),x≡i(mod33),根据中国剩余定理,求出乘法逆元,直接套公式求和就行了。注意:求和后要减去初始天数d,如果是小于等于0,则要加上m=23*28*33#include#include#incl... 阅读全文
posted @ 2018-07-16 13:55 MCQ 阅读(101) 评论(0) 推荐(0)
摘要:题意:求有多少对(x,y)满足x在x1~x2,y在y1~y2里使方程ax+by+c=0方法:c取相反数,然后扩欧解得x,y,再x*=c/d,y*=c/d求得一组解,计算x、y的改变量,x=b/d,y=a/d*-1。根据 x1ly||rx>ry||lp>rp,则输出0#... 阅读全文
posted @ 2018-07-14 17:20 MCQ 阅读(122) 评论(0) 推荐(0)
摘要:题意:给出一个长度为n的正整数序列,一个素序列是一个长度至少为2的连续的子序列,总和是大于或等于2的一个素数。例如给出3 5 6 3 8,存在两个长度为2的素序列(5+6=11,3+8=11),输出最短的序列长度和元素。方法:米勒拉宾测试素数或者线性筛+试除法,然后枚... 阅读全文
posted @ 2018-07-14 15:15 MCQ 阅读(291) 评论(0) 推荐(0)
摘要:有几个结论:(1)若 a xor b = c,则 a xor c = b。 (2)a - b = b) (3)若 gcd(a,b)= a xor b = c ,(a >= b),由(2)得:a - b = k2),所以... 阅读全文
posted @ 2018-07-13 15:55 MCQ 阅读(165) 评论(0) 推荐(0)
摘要:题意:求c(m,n)/c(r,s)思路:先对素数打表,构造阶乘的素数,设置一个e数组用来存储素数对应序号i的个数,阶乘作为分子是+1,作为分母是-1,最后计算的时候直接ans*=pow(素数,对应的个数)即可#includeusing namespace std;#d... 阅读全文
posted @ 2018-07-09 01:26 MCQ 阅读(139) 评论(0) 推荐(0)
摘要:思路: x3=(a(a*x1+b)%10001)+b)%10001a*b+b+y*10001=x3-a*a*x1对应a*x+b*y=c;a=(a+1),b=10001,c=x3-a*a*x1。枚举a的值,扩欧解不定方程解出x。判断该x是否满足整个序列。注意:该题要用l... 阅读全文
posted @ 2018-06-15 20:30 MCQ 阅读(140) 评论(0) 推荐(0)
摘要:思路:直接暴力肯定会超时,先用快速幂计算出a^b%n的值,因为mod为n时最多有n种余数,而且f[i]由前两项决定,所以周期至多为n*n,当f[i]==f[1]&&f[i-1]==f[0]时可以找到周期。注意:我在每一次进行时用memset初始化f数组结果TLE,去掉... 阅读全文
posted @ 2018-06-14 09:45 MCQ 阅读(139) 评论(0) 推荐(0)
摘要:思路:构造模线性方程,然后用扩欧求解。方程:(x*c+a)%2^k=b 所以 x*c-y*2^k=b-a ,套ax+by=c,然后扩欧。注意:我开始写b=-2^k然后WA成狗,后来改成2^k AC了 。b没必要是负的,反正正负a和b的线性组合集都一样,况且此题不需要y... 阅读全文
posted @ 2018-06-13 19:56 MCQ 阅读(133) 评论(0) 推荐(0)
摘要:思路:根据唯一分解定理拆成素数乘积,然后求每一个素数幂次的最大公约数即为p的值。注意x为负数的时候要先把最大公约数一直除以2直到其为奇数。#include#include#include#include#include#include#include#include#... 阅读全文
posted @ 2018-06-13 00:30 MCQ 阅读(129) 评论(0) 推荐(0)
摘要:思路:唯一分解定理#includeusing namespace std;#define inf 0x3f3f3f3f#define ll long long#define fo freopen("in.txt","r",stdin)#define fc fclose... 阅读全文
posted @ 2018-06-12 20:58 MCQ 阅读(193) 评论(0) 推荐(0)