
KMP
文章平均质量分 73
kk303
这个作者很懒,什么都没留下…
展开
-
HDOJ-3746 利用KMP的fail数组
思路很简单了...就是利用下fail数组的性质...fail[k]的含义是s[0~k]这个字符串的后缀可以是前面哪个串.并且记录的是最长的长度...那么l=len-fail[len]就是一个最短循环节的长度了..那么l-len%l就能得到最少还要补多少位了...值得注意的是 1.fail[len]本身为0..特判: 直接补len位 2.len%l==0..那么答案是原创 2012-04-14 11:42:17 · 1264 阅读 · 0 评论 -
HDOJ - 1586 更新下KMP的模板...
模板题...更新模板...Program:#include#include#include#include#include#include#include#define ll long long #define oo 1000000000using namespace std; char s[2][1000005];int _next[1000005];in原创 2013-04-26 11:19:57 · 968 阅读 · 0 评论 -
CodeForces Round #117 (182D) - Common Divisors
昨晚的比赛以为是23:00开始的..能水半个多小时..结果是0:00..就没参加了..今天看第一名是Watashi..去年WordFinal冠军巫泽俊..Orz...刚才刷了两道水题..B题那也太水了..本题也就是利用了KMP中Fail数组的性质... 见代码就好...Program:#include#include#include#include#incl原创 2012-04-25 22:02:36 · 1055 阅读 · 0 评论 -
CodeForces 126B - Password 利用KMP
注意题目要求...aaaaaa的答案应该是aaaa 算出每个位置的fail值....然后不断往前找最后一个位置的fail...直到有一个的fail不为0..则找到答案..Program:#include#include#include#include#include#include#include#include#define ll long long原创 2013-07-29 12:48:18 · 1681 阅读 · 0 评论 -
HDOJ 4763 - Theme Section 利用KMP的fail数组,,很暴力
题意: 现在给一个字符串..问订前头..顶后头..中间...不重叠最长的相同串为多长... 题解: 先用KMP得出每个位置的fail值..然后最后一个点开始不断地fail..直到0..标记上这些值..然后从扫描每个位置..每个位置都fail到0..找不冲突原创 2013-09-28 22:01:38 · 1788 阅读 · 0 评论 -
UVALive 4975 - Casting Spells Manacher+科学枚举
题意: 给了一个字符串...现在要找这样一个字串:设W为一个字符串..Wr为其逆串..现在要找的是WWrWWr...如果存在..输出其最长的长度..否则输出0.. 题解: 先用manacher找出每个位置为中点最长的回文串的长度...然后就是枚举了..简单的说WWrWWr一定也是回文的..而WW原创 2013-10-18 15:11:23 · 1061 阅读 · 0 评论