随笔分类 -  字符串-KMP

摘要:【题目链接】 http://poj.org/problem?id=2758 【题目大意】 给出一个字符串,支持两个操作,在任意位置插入一个字符串,或者查询两个位置往后的最长公共前缀,注意查询的时候是原串下标,插入的时候则是最近更新串的下标。 【题解】 因为插入操作只有两百次,所以考虑hash重构来处 阅读全文
posted @ 2016-11-16 12:10 forever97 阅读(496) 评论(0) 推荐(0)
摘要:【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=5782 【题目大意】 给出两个字符串,判断他们每一个前缀是否循环同构,循环同构的意思就是,字符串首位相接拼成一个环,两个环通过旋转可以相等。 【题解】 这道题用到了一个神奇的结论,如果S字符串和T字符 阅读全文
posted @ 2016-11-16 12:01 forever97 阅读(457) 评论(0) 推荐(0)
摘要:【题目链接】 http://poj.org/problem?id=3450 【题目大意】 求k个字符串的最长公共子串,如果有多个答案,则输出字典序最小的。 【题解】 我们对第一个串的每一个后缀和其余所有串做kmp,取匹配最小值的最大值就是答案。 【代码】 阅读全文
posted @ 2016-11-16 11:58 forever97 阅读(250) 评论(0) 推荐(0)
摘要:【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2594 【题目大意】 给出两个字符串,求第一个字符串和第二个字符串前缀和后缀的最大匹配。 【题解】 把s2串接在s1串的后面,那么这个串的前缀和后缀的最大匹配就是答案,注意在求nxt时候和失配指针和两 阅读全文
posted @ 2016-11-16 11:55 forever97 阅读(182) 评论(0) 推荐(0)