KMP基础

来源:互联网 发布:java listfiles 排序 编辑:程序博客网 时间:2024/06/06 14:05

POJ 2752-Seek the Name, Seek the Fame
题意:给出一个字符串str,求出str中存在多少子串,使得这些子串既是str的前缀,又是str的后缀。从小到大依次输出这些子串的长度。
思路:假设字符串str,其长度是len,求出len处的next值,并递归的向下求出所有的next值。

POJ 3461-Oulipo
题意:给两个字符串p和s,求出p在s中出现的次数。主串和子串匹配问题。

POJ 2185-Milking Grid
题意:给定一个由字符组成的矩阵,求出它的面积最小的覆盖矩阵。
思路:类似于最小覆盖子串,扩展到二维。最小覆盖子串必定是原串的前缀,对于矩阵,可以求出每一行的最小覆盖子串的长度,只要对这些长度求最小公倍数,就可以获得最小覆盖矩阵的宽度。列的话同理
这里有一个地方要注意,如果求最小公倍数的过程中发现“行最小公倍数>=原矩阵宽度“时,可以确定最小覆盖矩阵的宽度与原矩阵一样。列也是一样的道理。因为原矩阵必定是它自己的覆盖矩阵。

POJ 3080-Blue Jeans
题意:求n个字符串的最长公共串。
思路:枚举第一串的所有子串,然后与后面的所有串进行比较。

POJ 3450-Corporate Identity
题意:求多个字符串的最长公共子串
思路:找其中一个字符串,枚举它的所有的字串,逐个kmp比较。可二分优化。

HDU 3336-Count the string
题意:每个宝物最多有12个点需要侍卫守护,如果宝物地点为i,j,需要保护的点是x,y的话,那么(i+j)%2!=(x+y)%2,可以按照棋盘奇偶划分,然后求一个最小点覆盖。

HDU 3746-Cyclic Nacklace
题意:给定一个字符串,需要添加几个字符可以构成一个由n个循环节组成的字符串。
思路:kmp+字符串的最小循环节问题,可以先求出字符串的最小循环节的长度:假设字符串的长度为l,那么最小的循环节c = l-next[l] ;
如果有l%c== 0,那么这个字符串就是已经合法的字符串,不用添加任何字符; 否则需要添加的字符数就是c- (l-(l/c)*c)),相当于需要在最后一个循环节上面添加几个。 如果c = 1,说明字符串只有一种字符例如“aaa” ; 如果c= m说明最小的循环节长度为m,那么至少还需m个;
如果m%cir == 0,说明已经不用添加了。

HDU 1358-Period 、
题意:从字符串的第二个开始,看前面是循环串吗,是的话就输出此时的位置,和循环串的周期,周期必须大于1。
思路:字符编号从0开始,那么if(i%(i-next[i])==0),则i前面的串为一个轮回串,其中轮回子串出现i/(i-next[i])次。

HDU 2594-Simpsons’ Hidden Talents
题意:给定两个字符串s1,s2,求最长的s1前缀,使其为s2的最长后缀,输出该字符串和其长度。

POJ 2406-Power Strings
题意:给一个串,求该串最多是多少个相同的字串重复连接而成的。

思路:KMP中的get_next(),对next数组的应用。next[len]是最后一个字符跳的步长,如果有相同字符串,则该串长度是len-next[len].如果整个长度len能分解成x个这种串(能整除),就得到ans了。否则不能分解。只能是由自己组成串,长度为1。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 美团好评被删了怎么办 卖家收到好评内容是差评怎么办 淘宝收货电话写错了怎么办 淘宝评价写错了怎么办 饿了么商家差评怎么办 淘宝不给补差价怎么办 淘宝顾客给差评怎么办 淘宝买家账号体检违规怎么办 买家淘宝账户体检中心违规怎么办 淘宝卖家电话骚扰该怎么办 手机欠费销户了怎么办 想下载好多个淘宝怎么办 送快递不记得路怎么办 淘宝物流弄丢了怎么办 邮政快递碰上难缠客户怎么办 举证工伤对方不签收怎么办 快递员收件的钱怎么办 锐捷网卡是空的怎么办 mac系统excel太慢怎么办 二手车交易发票丢了怎么办 转转上买二手电脑被骗了怎么办 如果电脑买贵了怎么办 电脑配置低玩lol卡怎么办 电视打开显示无信号怎么办 电脑卡怎么办换个驱动 刚开始开淘宝店没人买怎么办 公司有人带自己电脑办公怎么办 组装电脑连不上网怎么办 显卡玩不起吃鸡怎么办 u盘内存是假的怎么办 新买的电脑应该怎么办 海尔一体机电脑开不开机怎么办 苹果笔记本系统坏了怎么办 苹果笔记本电脑电池坏了怎么办 苹果笔记本电脑屏幕坏了怎么办 平板开关键坏了怎么办 平板电脑电池坏了怎么办 平板电脑充电口坏了怎么办 平板电脑系统坏了怎么办 平板电脑充电器坏了怎么办 平板电脑触摸屏坏了怎么办