随笔分类 - KMP
摘要:This is the hard version of the problem. The difference is the constraint on the sum of lengths of strings and the number of test cases. You can make
阅读全文
摘要:算法用途: 一个首位相连的字符串,我们要寻找一个位置,以这个位置为起点的新字符串,我们需要使这个字符串字典序最小。 比如abcde,以c为开头的话就是cdeab 字典序: 两个串的字典序大小比较,是从第一个字母往最后一个比较,如果同一个位置字符相同就可以比较下一位,否则两个字符中哪个字符ascall
阅读全文
摘要:KMP算法: kmp示例代码: void cal_next(char *str, int *next, int len) { next[0] = -1;//next[0]初始化为-1,-1表示不存在相同的最大前缀和最大后缀 int k = -1;//k初始化为-1 for (int q = 1; q
阅读全文
摘要:吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形: 1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的; 2、左右
阅读全文
摘要:题意: 就是每一首歌都是EAEBE这样的类型,其中A和B可以没有,就是让你找出来E的最大长度 题解: 第一种思路: 可以先找出来头和尾的最大相同程度,最小可以从1开始,最大小于len/3 然后再利用kmp算法找出来中间有没有相同部分就可以了 但是这一种方法太麻烦了,还有切割字符串,看下面 第二种:
阅读全文
摘要:After an uphill battle, General Li won a great victory. Now the head of state decide to reward him with honor and treasures for his great exploit. One
阅读全文
摘要:马拉车用于解决最长回文子串问题,重点是子串,而不是子序列,时间复杂度为O(n)。 解释一下变量的意义: Len[i]数组去存第i个位置到mx位置的长度 id记录上一次操作的位置(这个操作可以看模板) mx标记上一次的最长子串的最右端 模板: 当我们要求的以第i个字符为回文字符串的中心的时候,如果i>
阅读全文
摘要:It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-emp
阅读全文
摘要:The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote fr
阅读全文
摘要:CC这个月底总是很郁闷,昨天他查了他的信用卡,没有任何意外,只剩下99.9元了。他很苦恼,想着如何度过这最后的几天。受“HDU CakeMan”企业家精神的启发,他想卖一些小东西来赚钱。当然,这并非易事。圣诞节就要到了,男孩们都忙着挑选圣诞礼物送给女朋友。人们认为,链手镯是一个很好的选择。然而,事情
阅读全文
摘要:首先先讲一下KMP算法作用: KMP就是来求在给出的一串字符(我们把它放在str字符数组里面)中求另外一个比str数组短的字符数组(我们叫它为ptr)在str中的出现位置或者是次数 这个出现的次数是可以重叠的 例如:在数组 ababa 中 aba的出现次数 它的答案是2——————分别是从[0 2]
阅读全文