2015年4月21日
摘要: 题目描述暴力解法:枚举原串起始位置,逐个匹配,复杂度O(mn)。优化思路:失配时,前面已匹配的字符可以提供信息。KMP算法:对于模式串任意位置 i ,如果我们知道一个 k 使得 i 位置前的 k 个元素和模式串最开始的前 k 个元素一一相等,那么第 i 个元素失配时就可以之间从第 k + 1 个元素... 阅读全文
posted @ 2015-04-21 18:49 xblade 阅读(161) 评论(0) 推荐(0)
2015年4月20日
摘要: 题目描述 Trie树概念相对简单。 如果是用于保存英文词典,时空效率都是不错的。 如果保存中文词典,对子节点的索引可能需要用一个哈希表来存。 在建树的过程中可以顺便统计特定前缀的单词数。 如果要求重复单词不重复统计,可以在插入前先查询一次。 本题的具体代码如下:#include #include #include #include #include typedef struct tri... 阅读全文
posted @ 2015-04-20 18:31 xblade 阅读(144) 评论(0) 推荐(0)
2015年4月19日
摘要: 题目描述- 基础方法:枚举子串,判断是否为回文串。- 改进:枚举中间位置,向两侧拓展。- 再改进:利用以前的信息,使得不用每个新位置都从长度1开始拓展。- 优化:将字符串预处理为奇数长度以避免考虑条件分支。- 再优化:开头加入特殊字符避免考虑边界。Manacher 算法:id 是中心点,mx 是其以... 阅读全文
posted @ 2015-04-19 22:36 xblade 阅读(214) 评论(0) 推荐(0)
摘要: 计划在6月30前跟上hiho一下的进度,同时对每周的题目进行简单的总结。算是一个小挑战,希望自己能够达成! 阅读全文
posted @ 2015-04-19 15:34 xblade 阅读(123) 评论(0) 推荐(0)