摘要: 首先我们可以想到的是,既然求的是前缀的长度,就意味着一定是从1开始的,那么我们可以直接用下 标表示每一个前缀。但是可能存在几个前缀互相包含的情况,比如:abababa我们可以看见的是aba中包含着ab和aabab中包含着aba, ab和a从上面我们能观察出一个性质来:将原字符串自匹配后,扫描到字符i 阅读全文
posted @ 2018-07-06 21:02 YuWenjue 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 给你一个字符串,它是由某个字符串不断自我连接形成的。但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 因为这个字符串是不断自匹配形成的我们可以很容易的想到,除了第一个字符串外,从第二个字符串开始,根据这样一个过程:cabcabcai=1 0 j=1i=2 0i=3 0i=4 1i=5 -> 阅读全文
posted @ 2018-07-06 18:58 YuWenjue 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程。将s中的每一个字符压入栈暴力将s中的字符和t中的一个一个匹配,若能够匹配若不能匹配,我们利用next数组转移匹配的位置同时我们利用另一个栈来存 阅读全文
posted @ 2018-07-06 18:35 YuWenjue 阅读(204) 评论(0) 推荐(0) 编辑