随笔分类 - 字符串—kmp
摘要:P3426 [POI2005]SZA-Template 链接 分析: 首先T一定是S的一个前缀,也是一个后缀。 判断一个前缀s[1...i]是不是满足条件,那么求出s[1...i]在s中出现的所有位置,如果相邻的两个位置之间的距离的最大值小于等于i,那么就是满足的。 于是可以建出fail树,每次从根
阅读全文
摘要:4820: [Sdoi2017]硬币游戏 链接 分析: 期望dp+高斯消元。 首先可以建出AC自动机,Xi表示经过节点i的期望次数,然后高斯消元,这样点的个数太多,复杂度太大。但是AC自动机上末尾节点只有n个,并且只有n个有用。所以考虑优化一下。 一个串内部的转移是没有必要的,考虑转移到结尾节点的转
阅读全文
摘要:1009: [HNOI2008]GT考试 https://www.lydsy.com/JudgeOnline/problem.php?id=1009 分析: f[i][j]表示第一个字符串到i,与第二个匹配了j个的方案数。新加一个字符,如果第一个字符串仍与第二个一样,那么转移到f[i+1][j+1]
阅读全文
摘要:1511: [POI2006]OKR-Periods of Words https://www.lydsy.com/JudgeOnline/problem.php?id=1511 题意: 对于一个串的所有前缀,设为s,求出它的最大前缀Q,使得s为QQ的前缀。求最大前缀长度的和。 分析: KMP+ne
阅读全文
摘要:题目链接 题意:给n个字符串,求出每个字符串的num值,加1后相乘。num[i]表示1~i中,有多少没有重叠的公共前缀后缀。 分析: kmp中p数组表示最大的公共前缀后缀。设一cnt数组,表示1~i中有多少公共前缀后缀(包括重叠的),那么cnt[1]=1,(自己是自己的公共前后缀)。 那么:cnt[
阅读全文
摘要:#1015 : KMP算法 #1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一只河蟹,于是河蟹就向小H
阅读全文
摘要:P3375 【模板】KMP字符串匹配 P3375 【模板】KMP字符串匹配 P3375 【模板】KMP字符串匹配 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。如果你不知道这是什么意思也不要
阅读全文

浙公网安备 33010602011771号