数据范围很大,用米勒罗宾测试和Pollard_Rho法可以分解大数。 模板在代码中 O.O ...
分类:
其他好文 时间:
2016-11-03 23:16:59
阅读次数:
329
pollard-rho是对大数分解质因数的算法 先要米勒罗宾判下素数 主要思想是选取随机数,随机数生成是只与前一个随机数有关的。 这样因为生日悖论,选取重复导致出现循环的期望是根号n的 选取随机数 ri 计算ai = ri mod n 这时我们假定有 n1 | n ,bi = ai mod n1 当 ...
分类:
其他好文 时间:
2016-10-03 06:56:44
阅读次数:
133
吐槽一下名字,泼辣的肉。。OwO 我们知道分解出一个整数的所有质因子是O(sqrt(n)/ln(n))的 但是当n=10^18的时候就显得非常无力的 这个算法可以在大概O(n^(1/4))的时间复杂度的情况下把n分解成p*q 递归分解就可以得到质因子了,跑得非常快 做法是这样的,考虑利用生日悖论 设 ...
分类:
其他好文 时间:
2016-07-06 10:19:54
阅读次数:
224
BZOJ 3667: Rabin-Miller算法 Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一个数字,保证在64位长整形范围内,并且没有负数。你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的 ...
分类:
编程语言 时间:
2016-05-21 18:48:15
阅读次数:
269
4522: [Cqoi2016]密钥破解 Description 一种非对称加密算法的密钥生成过程如下: 1.任选两个不同的质数p,q 2.计算N=pq,r=(p?1)(q?1) 3.选取小于r,且与r互质的整数e 4.计算整数d,使得ed≡1KQ/r 5.二元组(N,e)称为公钥,二元组(N,d) ...
分类:
其他好文 时间:
2016-05-06 21:59:41
阅读次数:
403
1037 最长的循环节 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 难度:7级算法题 收藏 关注 收藏 关注 正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数。 1/6= 0.1(6) 循环节长度为 ...
分类:
编程语言 时间:
2016-05-04 01:09:24
阅读次数:
377
算法目的给一个数n,快速提取n的一个因数。算法根据:生日悖论讲生日悖论之前,先看一个东西。
给出[1..1000]的数,从中任意选出一个数为k的概率是110001\over 1000。
但是假如选出两个数p,q要求他们的差值为k,就是|p-q|=k的概率大概是15001\over 500,因为要去绝对值。
继续向下,选出l个数,使他们之间有两个数的差值为k,那么概率会随l的变大而变大,最终会趋...
分类:
编程语言 时间:
2016-04-22 19:57:18
阅读次数:
131
素数判定Miller_Rabin算法详解: http://blog.csdn.net/maxichu/article/details/45458569 大数因数分解Pollard_rho算法详解: http://blog.csdn.net/maxichu/article/details/454595...
分类:
编程语言 时间:
2016-03-11 01:15:44
阅读次数:
302