KMP
GoneWithTheWind_yin
山科大学生
展开
-
Theme Section HDU - 4763
题目传送门题意:给你一个字符串,你在这个字符串中间找一个最长的字串,可以和开头和结尾相同。思路:这个题还是比较暴力的,直接KMP和枚举就可以了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#in原创 2017-10-05 10:43:36 · 345 阅读 · 0 评论 -
Milking Grid POJ - 2185
题目传送门题意:这个题就是用一个最小的矩阵构成这个大的矩阵。思路:把一个一维的最小覆盖子串变成一个二维的就可以了,一个字符串的最小覆盖子串是n - nex[n]。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include原创 2017-10-05 17:10:15 · 303 阅读 · 0 评论 -
Simpsons’ Hidden Talents HDU - 2594
题目传送门题意:给你两个字符串,求一个最长子串即是s1的前缀也是s2的后缀。思路:一个裸的KMP,直接求就可以了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#原创 2017-10-05 17:38:18 · 273 阅读 · 0 评论 -
Cyclic Nacklace HDU - 3746
题目传送门题意:给你个字符串,问你最少添加几个字符可以让这个字符串至少循环两次。思路:直接找最小覆盖子串,然后特判一下就可以了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <q原创 2017-10-05 21:20:04 · 220 阅读 · 0 评论 -
动物园 BZOJ - 3607
题目传送门思路:KMP还是学的不到家,一开始写了一个超时的代码然后不会优化了,然后看别人的代码发现num数组可以在进行KMP预处理的时候计算出来可以节省很多时间,然后就是再重新的KMP进行计算(一开始直接用的nex数组,但是可能会进行大量的没用的运算超时)。#include <algorithm>#include <cmath>#include <cstdio>#include <cstrin原创 2017-10-12 19:56:56 · 345 阅读 · 0 评论