数论
lero1005
菜是原罪。
展开
-
POJ-1811(Miller Rabin素性测试+Pollard_rho分解质因数)
题意:给出一个数N(2 <= N < 254),判断N是否是素数,如果是素数,直接输出"Prime",反之,输出N的最小质因数。//先粘一下正解,等等再完善#include <iostream>#include <ctime>#include <algorithm>#define LL long longconst int S=2...原创 2019-08-01 23:18:19 · 182 阅读 · 0 评论 -
中国剩余定理模板
裸中国剩余定理中国剩余定理的内容:对于两两互质的一组整数,对于一组整数有,则可以唯一地确定一个在内的解使得此同余方程组成立。方法:考虑两个方程的情况:即n%m1 = a,n%m2 = b,显然如果不在模意义下的话,那么a+(b-a)显然可以成为第二个方程的解,然而b-a的偏移量不满足模意义,我们可以求出m1关于m2的逆元w,则显然a+(b-a)m1w可以成为方程的解。按照这种构造方...原创 2019-08-03 23:37:18 · 214 阅读 · 1 评论 -
模意义下大整数乘法
计算与二进制取幂的思想一样,这次我们将其中的一个乘数表示为若干个 2 的整数次幂的和的形式。因为在对一个数做乘 2 并取模的运算的时侯,我们可以转化为加减操作防止溢出。递归方法如下:ll p;ll qmul(ll a, ll b, ll p){ ll res = 0; a = ((a%p)+p)%p; b = ((b%p)+p)%p; if(a...原创 2019-07-30 23:33:46 · 482 阅读 · 0 评论 -
洛谷P1092 (高斯消元+搜索/二进制状态压缩)
题目描述所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#9865#045+ 8468#6633 44445509678其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是55和33,第二行的数字是55。现在,我们对问题做两个限制:首先,我们只考虑加法的虫食算。这里的加法...原创 2019-07-24 23:30:29 · 234 阅读 · 0 评论 -
洛谷P4783 (高斯消元求矩阵的逆 模板)
/** 高斯消元矩阵求逆**/#include <cstdio>#include <stack>#include <algorithm>#include <cstring>#include <cmath>#include <iostream>#include <map>#include ...原创 2019-07-24 22:15:46 · 186 阅读 · 0 评论 -
数论代码补充
1.素数的检验(试除法)bool is_prime(int x){ for(int i = 2; i<=sqrt(n); i++) { if(x%i == 0) return false; } return true;}2.素数的筛选Eratothenes筛法int vis[maxn];void...原创 2019-07-15 23:40:21 · 446 阅读 · 0 评论 -
高次同余方程(BSGS算法模板)
裸题(n是素数)POJ 2417#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#includ...原创 2019-08-04 16:12:08 · 198 阅读 · 0 评论 -
数论基本定理典型例题
1.HDU-2973(威尔逊定理)The math department has been having problems lately. Due to immense amount of unsolicited automated programs which were crawling across their pages, they decided to put Yet-Anoth...原创 2019-09-03 19:16:26 · 652 阅读 · 0 评论