kmp
Euler_M
这个作者很懒,什么都没留下…
展开
-
poj 2185 Milking Grid
<br />题意:就是给你一个矩阵,问你他能由一个矩阵一直重复得到。求这个矩阵的最小面积<br />这个题是1961 ,2406的加强版,我是用discuss里的方法做的,不懂的可以看看discuss里的方法。自己的思路感觉很乱。<br />最主要就是要理解一个字符串的最小可能重复前缀是l-next[l]。l是字符串的长度。<br />其实结合next的定义很容易想通,next[j]=k,指的是next[1....k]=next[j-k+1...j],那么j-next[j],剩下的就是他的最小可能重复前原创 2011-03-27 17:28:00 · 647 阅读 · 0 评论 -
poj 2406 1961 简单证明
<br />都是一个类型的题,1961是2406的加强版<br />下面举个例子来说明一下l/(l-next[l])就是重复次数<br />i 1 2 3 4 5 6 7<br />s: a b c c c a b<br />next: 0 0 0 0 0 1 2<br />l-next[l]=5,就相当于现在我们得到了s的一个子串:abccc<br />显然这里拿abcccab去除abccc的结果是 商1余ab是除不尽的,所以l%(l-next[l])!=0原创 2011-03-27 18:25:00 · 1091 阅读 · 0 评论 -
poj 3080 Blue Jeans
<br />水题,枚举第一个字符串的所有子串,然后去和其他的串匹配,其它地方没什么好多说的,有些细节的地方没注意搞得我wa了好几次。郁闷<br />要注意输出的是字典序小的,这代码写得太丑了<br />/* * File: main.cpp * Author: Mi * * Created on 2011年3月27日, 下午7:02 */#include <cstdlib>#include <stdio.h>#include <string.h>using name原创 2011-03-27 20:41:00 · 487 阅读 · 0 评论 -
poj 1226 Substrings
<br />题意:就是求n个字符串的最长公共子串,子串是可以反转的<br />思路:strstr,kmp爆搜,还可以用后缀数组<br />实测kmp比strstr快,16ms那个是后缀数组的8389284Euler_M1226Accepted368K141MSG++1911B2011-03-28 16:44:598389280Euler_M1226Accepted364K63MSG++1907B2011-03-28 16:44:197957084Euler_M1226Accepted508K16MSC++2原创 2011-03-28 16:53:00 · 1203 阅读 · 0 评论