素数测试
文章平均质量分 70
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 3667: Rabin-Miller算法 素数测试
题意你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的质因子是哪个。 保证是在64位长整形范围内的正数。分析Miller_Rabin素数测试: 费马小定理:若p是质数且a!|p则ap−1modp=1a^{p-1} mod p=1 二次探测定理:若a2modp=1且a!=1,a!=p−1则p必为合数a^2 mod p=1且a!=1,a!=p-1则原创 2017-01-19 08:02:21 · 842 阅读 · 0 评论 -
bzoj 4802: 欧拉函数 大整数分解
题意求φ(n)\varphi(n) n<=1e18分析直接用pollard rho对n分解质因数就好了。代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>using namespace std;typedef long long原创 2017-06-08 17:06:44 · 801 阅读 · 0 评论 -
bzoj 4522: [Cqoi2016]密钥破解 pollard_rho+欧拉定理
题意一种非对称加密算法的密钥生成过程如下: 1. 任选两个不同的质数 p ,q 2. 计算 N=pq , r=(p-1)(q-1) 3. 选取小于r ,且与 r 互质的整数 e 4. 计算整数 d ,使得 ed≡1 mod r 5. 二元组 (N,e) 称为公钥,二元组 (N,d) 称为私钥当需要加密消息 n 时(假设 n 是一个小于 N 整数,因为任何格式的消息都可转为整数表示),使用原创 2017-12-27 11:25:48 · 312 阅读 · 0 评论 -
LibreOJ #2563.「SDOI2018」反回文串 pollard_rho+莫比乌斯反演
题意求所有长度为n字符集大小为k的字符串中有多少个字符串可以由某个回文串移位若干次后得到。 n,k≤1018n,k≤1018n,k\le10^{18}分析不难发现一个回文串移位若干位后一定可以得到一个合法的串,关键在于如何不重不漏的计数。 若一个回文串移位x次后得到的字符串也是一个回文串,则继续往后移位则必然会算重。 那移位多少次后会得到一个新的回文串呢?这显然跟原串的周期有...原创 2018-06-20 19:54:04 · 401 阅读 · 0 评论 -
Codeforces 1027G X-mouse in the Campus 数论+Pollard_rho
题意给定mmm和xxx,满足gcd(m,x)=1gcd(m,x)=1gcd(m,x)=1。现在把每个小于mmm的整数都看作一个点,然后iii向ixixix连边,问最后最少需要选出多少个点使得每个点的后继中至少有一个点被选。 m≤1014m≤1014m\le10^{14}分析感谢sam队长教我做这题。 首先因为gcd(m,x)=1gcd(m,x)=1gcd(m,x)=1,所以最后...原创 2018-08-19 14:10:04 · 747 阅读 · 2 评论