题意:是素数就输出Prime,不是就输出最小因子. #include <cstdio> #include<time.h> #include <algorithm> #include<set> using namespace std; typedef long long llt; ; set<llt>sss; //利用二进制计算a*b%mod llt multiMod(llt a, llt b, llt mod){ llt ret = 0LL; a…
题意:给你一个数n,  定义m=2k-1,   {k|1<=k<=n},并且 k为素数;  当m为合数时,求分解为质因数,输出格式如下:47 * 178481 = 8388607 = ( 2 ^ 23 ) - 1 分析:要分解m,首先要判断m是否为合数,直接用米勒拉宾判断,但是后面的大合数分解,一开始用了试除法,直接给超时.所以,有更加快速的方法.(现学的).使用Pollard_Rho大数分解算法. Pollard_Rho大数分解时间复杂度为n1/4  ac代码: #include <c…
素数判定的模板题,运用米勒-罗宾素数判定,然后用Pollard_Rho法求出质因数.使用相应的模板即可,不过注意存储质因子的数组需要使用vector,并且使用long long类型存储,不然存储不下,而且输出最下的质因子时,需要写个迭代器进行查询. 完整代码如下: #include<iostream> #include<algorithm> #include<vector> using namespace std; typedef long long LL; vecto…
先对lcm/gcd进行分解,问题转变为从因子中选出一些数相乘,剩下的数也相乘,要求和最小. 这里能够直接搜索,注意一个问题,因为同样因子不能分配给两边(会改变gcd)所以能够将同样因子合并,这种话,搜索的层数也变的非常少了. #include<stdio.h> #include<string.h> #include<iostream> #include<math.h> #include<stdlib.h> #include<time.h&g…
Sample Input 2 5 10 Sample Output Prime 2 模板学习: 判断是否是素数,数据很大,所以用miller,不是的话再用pollard rho分解 miller : 通过费马小定理,若N为素数,a^(N-1) = 1 (mod N), 再利用二次判定: 若x为素数,0<x<p, x*x = 1(mod q) #include <cstdio> #include <cstring> #include <iostream> #i…
题目链接>>> 题目大意:     给你N*N矩阵,表示N个村庄之间的距离.FJ要把N个村庄全都连接起来,求连接的最短距离(即求最小生成树).解析如下: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define inf 0x3f3f3f3f int n; ][]; ], vis[]; /…
可持久化线段树模板题. #include <iostream> #include <algorithm> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <ctime> #include <vector> using namespace std; ]; ],Left[],Right[]; ]; v…
题目链接 模板题.. #include<bits/stdc++.h> using namespace std; typedef int LL; typedef double db; namespace FFT //使用前需要用 fft_init()函数 初始化 { <<; .14159265358979323846264338327950288L; struct cp { db a,b; cp(,) { a=a_,b=b_; } cp operator +(const cp&…
素数判定Miller_Rabin算法详解: http://blog.csdn.net/maxichu/article/details/45458569 大数因数分解Pollard_rho算法详解: http://blog.csdn.net/maxichu/article/details/45459533 然后是参考了kuangbin的模板: http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646396.html 模板如下: //快速乘 (a…
题意:给出一个N,若N为素数,输出Prime.若为合数,输出最小的素因子.思路:Pollard rho大整数分解,模板题 #include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> #include <cstdlib> #include <cmath> using namespace std; long long n; long lon…