一、前言质因数分解,是一个在算法竞赛里老生常谈的经典问题。我们在解决许多问题的时候需要用到质因数分解来辅助运算,而且质因数分解牵扯到许许多多经典高效的算法,例如miller-rabin判断素数算法,rho启发式搜索质因数分解算法等。在此文里,我要介绍的就是miller-rabin算法以及rho启发式...
分类:
其他好文 时间:
2014-10-27 17:04:58
阅读次数:
348
集训队有人提到这个算法,就学习一下,如果用到可以直接贴模板,例题:POJ 1811转自:http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646396.html传说中的随机算法。效率极高。可以对一个2^63的素数进行判断。可以分解比较大的数的因子...
分类:
编程语言 时间:
2014-10-23 22:27:01
阅读次数:
252
GCD & LCM Inverse
题目大意:给你两个数a和b的最大公约数和最小公倍数,求a和b
(其中在满足条件的情况下,使a+b尽量小)
思路:最大公约数和最小公倍数的规模为2^63,暴力果断不行。
已知a*b = L(最小公倍数)*G(最大公约数);
设p = L/a,q = L/b,s = L/G;
即p、q为a和b除去最大公约数的部分,且两者互质;
GCD(p,q) = 1,LCM(p,q) = p * q = L*L/(a*b) = L*L/(L*G) = L/G = s。
LCM(p,q) ...
分类:
其他好文 时间:
2014-10-15 18:14:21
阅读次数:
303
题目大意:T组数据,对于输入的N,若N为素数,输出“Prime”,否则输出N的最小素因子
思路:因为N的规模为2^54所以普通的素性判断果断过不了。要用Miller Rabin素数测试来做。
而若N不为素数,则需要对N进行素因子分解。因为N为大数,考虑用Pollar Rho整数分解来做。...
分类:
其他好文 时间:
2014-10-15 12:49:30
阅读次数:
225
miller_rabbin素数判定。若不是,则pollard_rho分解质因子,找到最小即可。Miller-rabinMiller-rabin算法是一个用来快速判断一个正整数是否为素数的算法。它利用了费马小定理,即:如果p是质数,且a,p互质,那么a^(p-1)modp恒等于1。也就是对于所有小于p...
分类:
其他好文 时间:
2014-10-09 22:03:17
阅读次数:
215
本文介绍了Rabin-Karp字符串匹配算法...
分类:
其他好文 时间:
2014-10-09 03:39:57
阅读次数:
193
解决字符串匹配的算法包括朴素算法(Naive)、Rabin-Karp算法、有限自动机算法(Finite Automation)和 Knuth-Morris-Pratt 算法(即 KMP 算法)等,本文主要介绍 Naive 算法和 KMP 算法的基本原理和实现。
分类:
其他好文 时间:
2014-10-04 23:42:17
阅读次数:
569
相似图片搜索相似图片搜索是指怎么计算两张图片的相似程度,这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。一、感知哈希算法1、缩小尺寸将...
分类:
其他好文 时间:
2014-09-30 19:27:40
阅读次数:
218
大家都用google或baidu的识图功能,上面就是我搜索一幅图片的结果,该引擎实现相似图片搜素的关键技术叫做“感知哈希算法”(Perceptual hash algorithm),它的作用是对每张图片生成一个“指纹”(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。达到图片比较目的且利用信息指纹比较有三种算法,这些算法都很易懂,下面分别介绍一下:
...
分类:
其他好文 时间:
2014-09-26 14:16:58
阅读次数:
271
主要是为了试一下MILLER-RABIN的方法#include #include #include #include #define LL __int64using namespace std;const LL TIME=1000;LL random(LL n){ return (LL)((doub...
分类:
其他好文 时间:
2014-09-06 09:45:02
阅读次数:
176