摘要: 题目:Codeforces 625B 题意: 给你主串s,模式串t,其中t可能会在s中出现很多次,每次操作可以使s中的一个字符换成’#’,问最少的操作次数。 分析: 简单的KMP,求出模式串t在主串中出现的位置,然后再找出重叠的个数,相减即使答案。 例如主串1212121,模式串1... 阅读全文
posted @ 2016-03-20 15:14 HARD_UNDERSTAND 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目:http://codeforces.com/problemset/problem/631/D 题意: 输入一段压缩后的字符串,问子串在主串中出现的次数 分析: KMP匹配求子串在主串中出现的次数,因为是压缩后的字符串,这就要考虑字符串的长度。因为要完全匹配,显然,模式串的中间... 阅读全文
posted @ 2016-03-20 13:55 HARD_UNDERSTAND 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 准备系统的学习一下算法,就先行KMP开始吧!到目前为止,我能用到KMP的地方有三类题目: - 给出主串s和模式串t,查找t在s中出现的位置 - 给出主串s和模式串t,查找t在s中出现的次数 - 给出一个字符串t,求t中循环节的个数KMP算法的时间复杂度是O(n),因为主串s在匹配过... 阅读全文
posted @ 2016-03-20 12:20 HARD_UNDERSTAND 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目 :hdu 5646题意: 给出整数n,k,求n的k个划分,使得k个数乘积最大分析: 要想乘积最大,而且所有的数不同。首先想到的就是所有的数在平均值两边,即在n/k两边,剩下n%k就要往右边补了。基本的思路是这样,实现起来为了保持都不一样,先给1-k个数附上1-k的数值,剩下的... 阅读全文
posted @ 2016-03-20 08:13 HARD_UNDERSTAND 阅读(144) 评论(0) 推荐(0) 编辑