/** * Created by xie on 14-8-24. */ public class KMP { private String pat; private int M; private int R=256; private int dfa[][]; public KMP(String pa...
分类:
其他好文 时间:
2014-08-24 15:22:42
阅读次数:
227
黑字:认识红字:要学未添加:要学├─模拟├─字符串│ ├─字符串基础│ ├─kmp│ ├─trie│ ├─ac自动机│ ├─后缀数组│ └─后缀树├─搜索│ ├─深度搜索(dfs)│ ├─记忆化搜索│ ├─广度搜索(bfs)│ ├─双向广搜│ ├─回溯│ ├─A*│ ├─迭代深搜│ ├─IDA*│ ...
分类:
其他好文 时间:
2014-08-24 14:10:52
阅读次数:
353
Clairewd’s messageTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3433Accepted Submission(s): 1334...
分类:
其他好文 时间:
2014-08-24 10:16:32
阅读次数:
202
UVA 11557 - Code Theft
题目链接
题意:给定一些代码文本,然后在给定一个现有文本,找出这个现有文本和前面代码文本,重复连续行最多的这些文本
思路:把每一行hash成一个值,然后对于每一个文本计算最大匹配值,枚举后缀,然后利用KMP去找即可
代码:
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-08-23 22:59:31
阅读次数:
246
最近在研究一些字符串匹配算法,也是由于工作上的需要,强力推荐一本书《柔性字符串匹配》,一本很好的书。网上可以随时搜索到。还是说正题吧。我的前几天研究了一下多模式匹配算法,选了Aho-Corasick算法,因为这个比较基础,相比其他多模式匹配算法其要容易理解的多。所以,现在简单总结一下书上的内容,.....
分类:
其他好文 时间:
2014-08-23 18:52:51
阅读次数:
348
poj 2406: 这道题出的很好,让我明白了kmp循环节的性质。不过,不知是我太弱,还是网上大牛太多,大家都是直接找到最小的循环节之后就直接判断它是否整除n了。我想了好久,一直不明白一个问题。 假设最小循环节的长度为D。如果存在长度为d的循环节,它满足d>D且d不是D的倍数,这种情况是怎么判断.....
分类:
其他好文 时间:
2014-08-23 15:18:10
阅读次数:
180
UVA 1358 - Generator
题目链接
题意:有m种字符(从'A'开始往后数的大写字母),现在有一个字符串,长度不超过12,现在每次随机生成一个字母,要求能产生该字符串的期望长度
思路:dp[i]表示产生长度i的期望长度,那么每次产生一个字符,对应m种转移,每种转移的概率为1/m,转移后的长度可以利用KMP的next数组去快速获得,然后由于转移可能形成环的情况,所以无...
分类:
其他好文 时间:
2014-08-23 12:45:10
阅读次数:
276
AC自动模版题,中文题目就不叙述题意了啊。
AC自动主要是构造出字典树之后找到fail指针的跳转,类似于KMP里面的next数组的跳转啊,注意这里是多模式跳转。意思就是这个串跳到下一个串的什么位置啊。
先帖一下,做多了再一起总结吧。
病毒侵袭
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
分类:
其他好文 时间:
2014-08-22 22:36:57
阅读次数:
248
最近在研究一些字符串匹配算法,也是由于工作上的需要,强力推荐一本书《柔性字符串匹配》,一本很好的书。网上可以随时搜索到。还是说正题吧。BNDM算法的思想来源于BDM算法思想,类似于shitf-and和kmp之间的区别吧(也不知道是不是准确,有错望大家多指点)。前者都是用位运算模拟后者。好了,那就.....
分类:
其他好文 时间:
2014-08-22 22:26:09
阅读次数:
296
题意:移动字符串一与另外的一个字符串匹配,找最多的匹配个数
策略 暴力 就是将一个字符串固定,然后用另一个字符串从左往右来跟这一字符串来比较
代码:...
分类:
其他好文 时间:
2014-08-22 16:18:39
阅读次数:
184