
字符串匹配
只玩三国的程序猿
23333333333
展开
-
Codeforces 126B Password(KMP)
题意:给你一个字符串,让你在里面找到一个最长的公共的前缀后缀,并且在 字符串中间也出现过一次的子串。 这个题KMP的next数组的理解还是要有的,next[i]表示在i之前,最长的 公共前缀后缀的长度。所以说,我们首先要看看是否存在公共前缀后缀, 如果有,这只是保证了可能有解,因为我们还要看中间是否出现过, 这个时候,我们让i=nxt[i],继续看这个nxt[i]是否出现过,为什么呢? 因为你此往前原创 2016-02-12 21:58:25 · 1444 阅读 · 0 评论 -
CodeForces 159D Palindrome pairs(manacher)
题意:给你一个字符串,让你求这个字符串里面有多少对互不覆盖的回文串。 回文的问题首先要想到mancher算法,我们在求出一每个字符为中心 的最长回文串后,其实也就得到了以每个人字符为中心的回文串的个 数,但是我们该如何统计呢? 我已开始想到的就是枚举以每个字符为中心的回文串,但是我发现这 样对于后面的回文判断和他相互覆盖还需要判断,这样复杂度接近n^2, 后来经过提醒才发现,我们可以预处理处所有的以原创 2016-02-13 19:34:18 · 768 阅读 · 0 评论 -
HDU 2222 Keyword Search(AC自动机)
题意:让你找在匹配串中出现了多少个模式串,AC自动机模板题。 贴个模板。代码:// // Created by CQU_CST_WuErli // Copyright (c) 2015 CQU_CST_WuErli. All rights reserved. // // #include<bits/stdc++.h> #include <iostream> #include <cstring>原创 2016-02-25 22:57:35 · 394 阅读 · 0 评论