由于伪素数的存在,费马素数测试有了极大的缺陷,于是有了米勒-拉宾素性测试。 ...
分类:
编程语言 时间:
2017-10-02 22:21:15
阅读次数:
288
题意:1e6~1e6+5000之间任意两个之间同余方程组的解。余数为欧拉函数。 解题关键:线性筛预处理,扩展中国剩余定理暴力求解。 ...
分类:
其他好文 时间:
2017-10-01 18:07:31
阅读次数:
222
1.素数筛(线筛): 时间复杂度为O(n),可以筛选出n以内的所有素数,共有tot个,prime[x]==true,则x是素数 筛选原理: 任意一个数乘以比它小的素数的结果都是合数 遇到最小质因子就跳出循环,保证每个合数被其最小质因子筛去 附上代码: 利用了每个合数必有一个最小素因子。每个合数仅被它 ...
分类:
其他好文 时间:
2017-10-01 16:18:42
阅读次数:
226
题目链接:传送门 【题意】有n个灯,m个开关,灯的编号从1~n,每个开关上有一个质数,这个开关同时控制编号为这个质数的倍数的灯,问最多有多少灯打开。 【分析】发现小于根号1000的质数有10个左右,然后大于根号1000的质数所控制的灯是不会重叠的,所以我们状压枚举小于31的质数,然后贪心后面的。 ...
分类:
其他好文 时间:
2017-10-01 13:07:09
阅读次数:
188
题目大意: 给两个素数 a ,b ,在(1033 -- 8179)之间(左闭右闭)。询问将 a 变成 b 的最短步数。 找不到输出 Impossible 。 每次只能改变一个数字,千位数字不能出现 0 。而且每次一步改变后的数仍然为素数。 样例: 3 1033 8179 1373 8017 1033 ...
分类:
其他好文 时间:
2017-09-26 16:00:02
阅读次数:
124
problem1 link 枚举指数,然后判断是不是素数即可。 problem2 link 令$f[len][a][b][r]$(r=0或者1)表示子串$init[a,a+len-1]$匹配$goal[b,b+len-1]$,翻转了$r$次的最小代价。 problem3 link 答案的公式很容易推 ...
分类:
其他好文 时间:
2017-09-23 23:21:05
阅读次数:
173
1. 每个C++都包含至少一个函数,其中一个必须为mian函数,且 main 函数的返回类型必须为 int。 2. 函数定义包括:返回类型,函数名,形参列表,函数体 3. main 函数返回值用来指示状态,0表示成功,其他值含义由系统定义,通常用来表示错误类型。 4. 通过 echo 命令可以获得 ...
分类:
编程语言 时间:
2017-09-23 00:14:06
阅读次数:
255
题目链接:http://poj.org/problem?id=2689 Time Limit: 1000MS Memory Limit: 65536K Description The branch of mathematics called number theory is about proper ...
分类:
其他好文 时间:
2017-09-22 23:54:22
阅读次数:
226
1 #include 2 using namespace std; 3 int n,m,cnt,prime[10000010],noprime[10000010]; 4 5 int main(){ 6 scanf("%d%d",&n,&m); 7 prime[1]=2; 8 noprime[1]=1... ...
分类:
其他好文 时间:
2017-09-18 13:28:45
阅读次数:
129
#include using namespace std; int P[40005]={1,1},phi[40005]; vector prime; void getphi(int n){ for(int i=2;i>n; getphi(n-1); return 0; } ...
分类:
其他好文 时间:
2017-09-18 13:24:33
阅读次数:
162