kmp&exkmp
disPlayLzy_
梦在前方,路在脚下
展开
-
洛谷 P3375 【模板】KMP字符串匹配
题目大意: 给出N长的字符串S1,M长的字符串S2,求出s2在s1中所有出现的位置。用KMP做,先输入每一次S2出现的位置,然后输出S2的前缀数组next。题解: KMP: next[i]表示需要匹配的字串的最长公共前后缀的长度。 怎么求next[i]呢? 首先初值next[1]=0,j=0 对于每一个如果s2[j+1]=s2[i],没有疑问,j=j+1 不过如果s2[j+1]不等于s原创 2017-05-03 21:25:25 · 444 阅读 · 0 评论 -
SSL P2575 给出字符串
题目大意: 给出一个由小写字母组成的字符串。你的任务是找出其最长的出现至少两次的子串的长度。这些重复出现的子串可以重叠。数据保证该字符串非空,由小写字母组成,且其长度不超过100。题解: 枚举: 这题,因为N就100,所以可以直接O(N^3)去枚举, i,找的子串多长 j,第一个出现的位置 k,第二个出现的位置 然后i倒着推找到就直接输出i就可以了 PS: 大佬们也可以用KMP。v原创 2017-08-12 07:27:01 · 443 阅读 · 0 评论 -
【HNOI2014】抄卡组___思维+Kmp+hash
题目大意: 题解:这题其实认真读题可以发现: 对于任意匹配的2个字符串x,y,无非就3种情况: ①x,y都不含 * ,这里可以直接用hash判断所有的这种情况的x是否相等,因为不含*,所以x必定等于y,否则必定不匹配 ②x,y都含 * ,此时我们发现当x的第一个 * 的前缀,设为xy1,与y的第一个 * 的前缀,设为xy2 必定短的一个是长的一个的前缀,否则无法匹配 对于他原创 2018-02-01 20:44:50 · 608 阅读 · 0 评论 -
【NOI2014】动物园___变形KMP
题目大意:KMP算法中,对于字符串 S 的前 i 个字符构成的子串,既是它的后缀又是它的前缀的字符串中(它本身除外),最长的长度记作 next[i]。 而现在希望求出一个更强大 num 数组——对于字符串 S 的前 i 个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,这种字符串的数量记作num[i]。例如 S 为 aaaaa,则 num[4] = 2。这是因为 S原创 2018-02-03 15:53:12 · 488 阅读 · 0 评论 -
Poj P1961 Peiod___KMP求最小循环元
题目大意:多组数据,每组给出一个长度为NNN,字符串SSS,当SSS的某个前缀的最小循环元的循环次数大于111的时候,回答当前前缀长度和最小循环元的循环次数。2<=N<=10000002<=N<=10000002 KMPKMPKMP对字符串SSS求出一个nextnextnext数组以后,可以发现, 当满足(i−next[i])|i(i−next[i])|i(i-n...原创 2018-08-07 20:49:29 · 320 阅读 · 0 评论 -
Jzoj P5912 VanUSee___博弈+KMP
题目大意:给定两个串 S 和 T,∣S∣>=∣T∣|S| >= |T|∣S∣>=∣T∣。两个人博弈,每一轮操作,两人先后可以删掉 S 的首位或者末位。当操作以后的串的长度等于∣T∣|T|∣T∣时,游戏停止。如果停止时 S剩下的串S 剩下的串S剩下的串=T=T=T,则后手获胜,否则先手获胜。问两人均采取最优策略下谁赢1<=t<...原创 2018-10-18 21:15:48 · 145 阅读 · 0 评论 -
Jzoj P5096 [GDOI2017]房屋购置___kmp
题目大意:有 NNN 幢房子,每幢房子用一个字符串 sisisi 来描述。现在有 M 条特征的简写规则,每条规则包含两个字符串 ai , bi , 表示将所有子串中的 ai 替换成 bi。一个字符串可能会被同一条规则匹配多次,优先替换最左边的,且新生成的字符串会不会被重新用于该规则的匹配。不同的规则之间按照严格的顺序关系执行。现在你需要对已有的 N 条字符串通过 M 条有顺序的替换规则进...原创 2019-06-04 22:02:15 · 219 阅读 · 0 评论