KMP
卧室踩被
The weakest OIer
展开
-
Power Strings【KMP】
题目:Power Strings解题思路:KMP 求 next,然后倒数第一个next跳的长度len能被n整除,也就是说len∣n,则满足条件输出n/len,否则输出1源程序:#include<iostream> #include<cstdio> #include<cstring> #define MAXN 10000...原创 2018-06-25 20:42:10 · 117 阅读 · 0 评论 -
OKR-Periods of Words
题目大意:对于给定串的每个前缀i,求最长的,使这个字符串重复两边能覆盖原前缀i的前缀(就是前缀i的一个前缀),求所有的这些“前缀的前缀”的长度和。解题思路:KMP 先初始化所有next 利用 next的性质:前缀 i 的长度为 next[i] 的前缀和后缀是相等的 这说明:如果有i一个公共前后缀长度为j,那么这个前缀i就有一个周期为i-j 对于每个前缀 i ,令 j=i ,然后...原创 2018-08-17 21:52:03 · 206 阅读 · 0 评论 -
动物园
题目很少见的题目+题目大意,只是觉得题目好,毕竟还讲解了KMP的next题目大意:我觉得这道题已经概括的很好了,于是我只做对题目的一些小剪枝就放上来了: 要求求出一个num数组一一对于字符串 S 的前 i 个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作 num[i] 。例如 S 为aaaaa,则 num[4] = 2 。这是因为 S ...原创 2018-08-18 10:15:29 · 212 阅读 · 0 评论 -
10.24 So many prefix?
题目:解题思路:KMP + DPf[i]=f[next[i]]+(if[i] = f[next[i]] + (i%2 == 0)f[i]=f[next[i]]+(iAccepted code:#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#inc...原创 2018-11-01 11:53:52 · 178 阅读 · 0 评论