2015年7月16日

扩展KMP算法

摘要: 扩展KMP,用于求s的后缀的最长前缀。用extand数组表示第i个后缀的最长前缀的字符个数。注意几点:1.next数组是对T的 2.extand数组是对S的 3.应用:回文,重复串等代码如下: 1 #include 2 #include 3 #include 4 using... 阅读全文

posted @ 2015-07-16 21:43 小松song 阅读(151) 评论(0) 推荐(0)

HDU 4300 (扩展KMP或KMP)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4300题意:说实话,看半天题目,愣是没看懂,百度题意才看懂,大概意思就是:第一个串串为匹配串,第i个代表字母顺序中的第i个,比如第一个是q,那么,q就代表a。第二个串是密文+明文,密文全部都有,但明文可能... 阅读全文

posted @ 2015-07-16 21:39 小松song 阅读(171) 评论(0) 推荐(0)

HDU 3336 (KMPnext数组的应用)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336题意:求给定字符串的前缀出现次数的总和。题解:先求得next数组,从i=1开始遍历next数组,只要其值不为0,则让计数器加1,原因:next数组每出现不为0的时候,则代表有个一个前缀重复。 ... 阅读全文

posted @ 2015-07-16 16:24 小松song 阅读(134) 评论(0) 推荐(0)

HDU 2594 (KMPnext数组的应用)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594题意:给两个字符串,求前面哪个字符串的前缀和后面字符串的后缀相同的最大串。题解:将两个字符串合成一个字符串,利用KMP里的next数组。next[len]即为所求。但要注意,长度必须小于两者小的那个... 阅读全文

posted @ 2015-07-16 14:41 小松song 阅读(118) 评论(0) 推荐(0)

POJ 3080 (暴力KMP解最长连续公共自序列)

摘要: 题目链接:http://poj.org/problem?id=3080题意:1.给m个长度为60的字符串,找他们连续最长自序列 2.如果给子序列长度小于3,则不输出。 3.相同长度,输出字典序小的题解:1.暴力KMP,枚举第一个字符串的所有自序列 2.相同长度的,用strcmp函数找... 阅读全文

posted @ 2015-07-16 13:10 小松song 阅读(137) 评论(0) 推荐(0)

导航