字符串
Lei2015_
这个作者很懒,什么都没留下…
展开
-
后缀数组模板
过了期末了,继续写ACM题自己写的后缀数组模板。k, len, rank[], sa[], tmp[], 都要写在外面,这样就不用来回折腾了。也是使用倍增法来做的,得到一个sa,保存了后缀排在第i位的后缀的起始位置。因为空也算一个后缀,所以函数中都是 #include#include#include#includeusing namespace std;#define原创 2014-01-09 16:47:57 · 493 阅读 · 0 评论 -
POJ 2406 依然 KMP
找循环串跟 POJ 1961 一样的http://blog.csdn.net/u012935901/article/details/20219851#include #include #include #include #include #include #include #include using namespace std;#define MAX原创 2014-03-01 16:25:02 · 445 阅读 · 0 评论 -
KMP 模板 HDU 1711
就是想打打 KMP 而已。。#include #include #include #include #include #include #include #include using namespace std;#define MAX 700000 #define INF 0x3f3f3f3f#define MS(x) memset(x,0,sizeof(x))#d原创 2014-03-01 13:44:26 · 473 阅读 · 0 评论 -
POJ 1961 KMP 对于理解 KMP 实质很有帮助的啊~~
计算某个字符串前缀,到底最多有几个循环节。当然,循环节之间是不能有重叠的啦 aabaabaa 什么都不是啦首先关于KMP,我们有个目标匹配串 T , 还有一个模式串 PKMP 的处理就是用 T 的后缀去匹配 P 的前缀,减少工作量。。。。所以,当一个循环串出现的时候,失配点与当前点的差值,必然是一个循环节的长度。但是考虑到最上面那种情况,还要判断一下前面那个循环节长度是不是我们原创 2014-03-01 15:57:22 · 596 阅读 · 0 评论 -
HUD 2222 AC 自动机入门 模板
题号不错。。。关于 AC 自动机的知识 点我点我~~论文里用状态机解释 AC自动机的方法太精彩了。判断出现过多少个单词。一个单词出现多遍只能计算一次AC 自动机输出的时候是递归的输出的 output(u) = output(u) U output( fail(u) )#include #include #include #include #include #in原创 2014-03-19 16:51:50 · 528 阅读 · 0 评论 -
HDU 2896 病毒传播 AC 自动机 蛮裸的。。
还是喜欢指针版本的数据结构(Splay 啦 AC 自动机啦)首先给病毒串建立 AC 自动机,然后判断病毒串在文本中的存在情况就是了。#include #include #include #include #include #include #include #include #include #include #include #include #include原创 2014-03-19 19:42:54 · 451 阅读 · 0 评论 -
HDU 3065 AC 自动机再来。。 病毒持续侵袭中
跟上一道题一样呀。。代码不怎么用修改就能过啊。。不过这次一个可能的优化是 病毒只有 A~Z 字符串是可见的 ASCII 码 遇到除了 A~Z 的指针 cur 直接回到 root 就可以了。。。我注释掉了也没什么事情发生。。#include #include #include #include #include #include #include #include #原创 2014-03-19 21:09:25 · 440 阅读 · 0 评论