用miller_rabin 和 pollard_rho对大数因式分解,再用dfs寻找答案即可。http://poj.org/problem?id=2429 1 #include 2 #include 3 #include 4 #include 5 using namespace s...
分类:
其他好文 时间:
2015-09-17 17:28:06
阅读次数:
187
接着上文(地址),我们来聊一聊自动机算法(有限自动机字符串匹配算法)和KMP算法。====#=有限自动机算法=#===== 关于有限自动机,网上的分析的资源,大部分都很笼统,算导上的知识点,全是数学公式,看的也会特别累。因此,打算从算导的第一题开始讲起。从习题入手,讲这个算法的思想。例子:对模...
分类:
编程语言 时间:
2015-09-04 08:43:25
阅读次数:
281
字符串的匹配的算法一直都是比较基础的算法,我们本科数据结构就学过了严蔚敏的KMP算法。KMP算法应该是最高效的一种算法,但是确实稍微有点难理解。所以打算,开这个博客,一步步的介绍4种匹配的算法。也是《算法导论》上提到的。我会把提到的四种算法全部用c/c++语言实现。提供参考学习。下图的表格,介绍.....
分类:
编程语言 时间:
2015-09-03 00:43:13
阅读次数:
261
昨天在USACO做了一道判断素数的题,就想着学习一下Miller_Rabin素数测试算法,在网上找到两种模版,第一种十分简洁,运行速度也很快,但是会判错极少的几个非素数;第二种比较麻烦,运行速度很慢,所以我便想找到第一种模版不能判断的非素数特判一下,结果用了一天,电脑只找到10^8以下的,10^9内还有2个没找到,但正确的模版运行速度太慢,我的电脑又太渣,耗不起时间了,姑且先这样,等以后有深入理解有更好的方法再更新一下。
第一种:源自吉林大学ACM模版
刚开始用的是随机数测试,我想到以前了解过只要用2,7...
分类:
编程语言 时间:
2015-08-28 17:45:12
阅读次数:
205
题意:求一个整数是否是素数,如果不是,则输出它最小的质因数。
分析:
判断一个大整数是否为素数用Miller_rabin算法,求一个大整数的所有质因数用Pollard_rho算法。这题就是直接套模板。
另外这里的gcd和pow_mod不能用一般的方式,T了。代码里我注释掉的就是T了的写法。
代码:
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-08-14 21:35:29
阅读次数:
202
您可以在我的个人博客中访问此篇文章:http://acbingo.cn/2015/08/09/Rolling%20Hash(Rabin-Karp%E7%AE%97%E6%B3%95)%E5%8C%B9%E9%85%8D%E5%AD%97%E7%AC%A6%E4%B8%B2/该算法常用的场景字符串中查...
分类:
编程语言 时间:
2015-08-11 09:44:41
阅读次数:
522
原理参见《离散数学》P201
#include
#include
#include
#include
using namespace std;
bool Miller_Rabin(long long n)
{
if(n < 2)
return false;
else if(n == 2)
return true;
long long q = 0, m = n - 1;
w...
分类:
编程语言 时间:
2015-08-10 14:52:29
阅读次数:
188
题目传送门 1 /* 2 Rabin_Karp:虽说用KMP更好,但是RK算法好理解。简单说一下RK算法的原理:首先把模式串的哈希值算出来, 3 在文本串里不断更新模式串的长度的哈希值,若相等,则找到了,否则整个模式串的长度的哈希值向右移动一位 4 */ 5 /*********...
分类:
其他好文 时间:
2015-08-05 17:39:59
阅读次数:
100
https://www.hackerrank.com/challenges/the-grid-search/forum今天碰见这题,看见难度是Moderate,觉得应该能半小时内搞定。读完题目发现是纯粹的一道子矩阵匹配问题,想想自己以前没做过,肯定能学到新算法,于是就开搞了。于是上网搜到了Rabin...
分类:
其他好文 时间:
2015-07-30 02:03:22
阅读次数:
129
说到素数不得不说素数判定算法。其中极为经典的为Rabin Miller测试。通过二次探测的方法,我们可以将其正确率上升到一个很高的高度。二次探测的原理我还是不太懂,所以NOI前我暂时只是梳理一下这个算法的流程。首先,我来介绍一些小Trick。$O(1)$的快速乘。在一些卡常数而且爆long long...
分类:
其他好文 时间:
2015-07-07 10:55:26
阅读次数:
310