2015年9月22日

[KMP求最小循环节][HDU3746][Cyclic Nacklace]

摘要: 题意给你个字符串,问在字符串末尾还要添加几个字符,使得字符串循环2次以上。解法无论这个串是不是循环串 i-next[i] 都能求出它的最小循环节代码:/*思路:kmp+字符串的最小循环节问题分析:1 题目要求的是给定一个字符串,问我们还需要添加几个字符可以构成一个由n个循环节组成的... 阅读全文

posted @ 2015-09-22 17:14 DDUPzy 阅读(176) 评论(0) 推荐(0) 编辑

[扩展KMP][HDU3613][Best Reward]

摘要: 题意:将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0。 问如何分割,使得两个串权值之和最大思路:首先了解扩展kmp 扩展KMP:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每... 阅读全文

posted @ 2015-09-22 16:51 DDUPzy 阅读(140) 评论(0) 推荐(0) 编辑

[Manacher][HDU3613][Best Reward]

摘要: 题意: 将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0。 问如何分割,使得两个串权值之和最大思路: 裸的: 枚举分割点,计算,O(n) 判断是否回文 总复杂度O(n^2) 优化: 利用Manacher的预处理 ... 阅读全文

posted @ 2015-09-22 16:09 DDUPzy 阅读(145) 评论(0) 推荐(0) 编辑

[KMP][HDU3336][Count the string]

摘要: 题意计算所有S的前缀在S中出现了几次思路跟前缀有关的题目可以多多考虑KMP的NEXT数组#include #include #include #include using namespace std;char S[2000000]; int NEXT[2000000];int d... 阅读全文

posted @ 2015-09-22 14:49 DDUPzy 阅读(106) 评论(0) 推荐(0) 编辑

导航