
字符串
16bit戦争
这个作者很懒,什么都没留下…
展开
-
BZOJ 3916 Baltic 2014 friends Hash
题目大意给出一个字符串,这个字符串是由两个相同的字符串连接之后再加一个字母的到的,求原串。思路枚举加的字母是哪一个,之后分情况讨论,根据hash值来判定是否符合题目要求。注意判重。CODE#define _CRT_SECURE_NO_WARNINGS#include <cstdio> #include <cstring> #include <iostream> #include <algorithm原创 2015-04-01 20:04:48 · 1162 阅读 · 0 评论 -
POJ 3974 Palindrome Manacher
题目大意给出一个字符串,求出这个字符串的最长回文子串。思路前来学习著名的Manacher算法。 这是一个线性时间求出回文子串的算法。具体来说,对于我们弄出的一个回文串,它对于后面的串并不是,没有用的,因为它的左右两侧是相同的,那么自然可以用左边的信息去更新右边。 设p[i]p[i]为第ii个字符的回文半径,_max\_max为max{p[i]+i}max\{p[i] + i\},也就是最远可以更原创 2015-04-07 08:30:42 · 860 阅读 · 0 评论 -
BZOJ 2251 2010Beijing WC 外星联络 后缀数组/Trie树
题目大意给出一个字符串,问这个字符串中出现过1次以上的子串的个数,按照子串的字典序输出。思路由于数据范围过小,这个题有两个解法。 基本的想法就是用后缀数组来进行后缀的排序,之后按照height数组扫就可以了。应该是挺快的。 但是注意到数据范围只有3000,因此我们只需要弄出所有的后缀拿出来建立一颗后缀Trie树就行了。最后DFS一次树种的所有节点。CODESuffixArraySuffixArr原创 2015-04-07 09:42:12 · 1569 阅读 · 0 评论