摘要: 题意: 给你一个串,问你他的所有前缀子串在本串中的出现次数,注释:abc的前缀子串是 a ab abc; 思路: 还是利用了next数组,先对子串求出next数组,再开一个数组dp,初始化全是1,因为每个以当前i结尾的都至少是1,然后... 阅读全文
posted @ 2014-05-17 23:55 猫携 阅读(44) 评论(0) 推荐(0)
摘要: 题意: 给你两个串,问你第二个串是从第一个串的什么位置开始完全匹配的。。 思路: 裸的KMP,也是我的第一个KMP,说下对KMP的理解吧,首先对于非优化的方法求匹配,时间复杂度应该是O(n*m) ,而KMP则是O(n + m)(感觉... 阅读全文
posted @ 2014-05-17 23:52 猫携 阅读(25) 评论(0) 推荐(0)
摘要: 题意: 给你两个串,问你串a在串b中出现了多少次。 思路: 直接匹配,KMP时匹配到匹配串的最后一个的时候不用跳出,直接匹配就行了,最后一个'/0'不会和目标串匹配,所以经过next[l2]就直接自动找到该去的位置了,怎么说呢,今天... 阅读全文
posted @ 2014-05-17 23:50 猫携 阅读(25) 评论(0) 推荐(0)
摘要: 题意: 给你一个字符串,让你找到一些字符串,这个字符串是从第一个字母开始的,并且他可以分成1个一上循环子结构够成的,比如 abcabcabc 那么当前的这个串就是三个abc构成的,他的AK值就是3,对于输出的答案中就会包含当前这个状态,表示为9 ... 阅读全文
posted @ 2014-05-17 23:48 猫携 阅读(52) 评论(0) 推荐(0)
摘要: 题意: 给你一个项链,问你最少加多少个珠子能满足整个项链是一个循环的项链(首尾相连) 思路: KMP的简单应用只要了解next数组的意义就好说了,下面总结下 next在循环方面的常用应用 (1)i - next[i] 最小循环节(第... 阅读全文
posted @ 2014-05-17 23:43 猫携 阅读(53) 评论(0) 推荐(0)