
字符串
Lei2015_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
后缀数组模板
过了期末了,继续写ACM题 自己写的后缀数组模板。 k, len, rank[], sa[], tmp[], 都要写在外面,这样就不用来回折腾了。 也是使用倍增法来做的,得到一个sa,保存了后缀排在第i位的后缀的起始位置。 因为空也算一个后缀,所以函数中都是 #include #include #include #include using namespace std; #define原创 2014-01-09 16:47:57 · 517 阅读 · 0 评论 -
POJ 2406 依然 KMP
找循环串 跟 POJ 1961 一样的 http://blog.youkuaiyun.com/u012935901/article/details/20219851 #include #include #include #include #include #include #include #include using namespace std; #define MAX原创 2014-03-01 16:25:02 · 469 阅读 · 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 · 506 阅读 · 0 评论 -
POJ 1961 KMP 对于理解 KMP 实质很有帮助的啊~~
计算某个字符串前缀,到底最多有几个循环节。 当然,循环节之间是不能有重叠的啦 aabaabaa 什么都不是啦 首先关于KMP,我们有个目标匹配串 T , 还有一个模式串 P KMP 的处理就是用 T 的后缀去匹配 P 的前缀,减少工作量。。。。 所以,当一个循环串出现的时候,失配点与当前点的差值,必然是一个循环节的长度。 但是考虑到最上面那种情况,还要判断一下前面那个循环节长度是不是我们原创 2014-03-01 15:57:22 · 622 阅读 · 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 · 566 阅读 · 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 · 475 阅读 · 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 · 464 阅读 · 0 评论