这道题也是卡了挺久的。给出一个字符串比较的算法,有n个字符串两两比较一次,问一共会有多少次比较。因为节点会很多,所以Tire树采用了左儿子右兄弟的表示法来节省空间。假设两个不相等的字符串的最长公共前缀的长度为i,那么比较次数应该是2i+1。如果两个字符串相等,比较次数则是2i+2.可以像大白书上一样...
分类:
其他好文 时间:
2015-04-03 17:04:41
阅读次数:
157
传送门:Justice String题意:有两个串A,B,问是否存在A的一个子串S,S和B的长度相等,最多有2个字符不同。如果有多个,输出其实下标最小S的下标,没有输出-1。分析:从A每个位置开始找最长公共前缀,如果最长公共前缀长度不大于lenb,继续从下一次位置开始找,至多找两次,如果一直找不到就...
分类:
其他好文 时间:
2015-04-03 15:04:42
阅读次数:
158
problem:
Write a function to find the longest common prefix string amongst an array of strings.
寻找 0 ~n 个字符串的最长公共前缀
thinking:
(1)公共前缀很好理解,按位匹配即可
(2)很容易忘记处理0、1个字符串的情况。
code:
string prefi...
分类:
其他好文 时间:
2015-03-18 18:05:15
阅读次数:
112
第一道后缀数组后缀数组要维护三个数组:sa(suffix array), rk(rank)和ht(height)。含义分别是:sa[i]:将后缀按照字典序排序后,第i大的后缀的起始位置。rk[i]:起始位置为i的后缀的排名。ht[i]:起始位置为i的后缀与排名为rk[i]-1的后缀的最长公共前缀。对...
分类:
其他好文 时间:
2015-03-17 17:40:39
阅读次数:
149
思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了。然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了。然后看题解,里面都是用RMQ先预处理随意两个后缀的最长公共前缀,由于不太知道这个,所以又看了一下午,嘛嘛...
分类:
编程语言 时间:
2015-03-12 15:00:22
阅读次数:
261
题意: 输入一个串,输出里面最长的回文子串。
做法:后缀数组 比如 输入abc 。 那构造串 abc#cba。 然后用后缀数组模版。 初始化RMQ后,枚举任意一个在#前面的点,奇回文和偶回文都各自考虑下,
用lcp,找出后缀i,j的最长公共前缀。得到的最大的就是最长回文子串了。...
分类:
编程语言 时间:
2015-03-07 21:24:05
阅读次数:
276
今天就这题照着别人的代码学了字典树...
这篇论文:http://wenku.baidu.com/view/d2ba836fb84ae45c3b358ca8.html介绍了各种字典树的运用,长了好多姿势,很有启发性
归纳一下字典树的应用:
检索(主要功能)
串排序
在DP中减少无效的状态转移
最长公共前缀问题(LCP)转化成LCA
tire+KMP 构成AC自动机数据结构
...
分类:
其他好文 时间:
2015-02-28 08:57:53
阅读次数:
165
Manacher(马拉车)是一种求最长回文串的线性算法,复杂度O(n)。网上对其介绍的资料已经挺多了的,请善用搜索引擎。而扩展KMP说白了就是是求模式串和主串的每一个后缀的最长公共前缀【KMP更像是一个自动机】题目:POJ 1159:Palindrome求原字符串最少增加几个字符后可变成回文串,相当...
分类:
其他好文 时间:
2015-02-21 23:26:15
阅读次数:
242
昨晚一不小心学了拓展KMP,被虐了一晚,最终是这份资料救了我...http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html
说得简单易懂。
然后学了kuangbin的模版:
/*
* 扩展KMP算法
*/
//next[i]:x[i...m-1]与x[0...m-1]的最长公共前缀
//extend[i]:y[i...n-1]与x...
分类:
其他好文 时间:
2015-02-20 17:31:30
阅读次数:
150
求同一字符串的两个后缀的最长公共前缀。将字符串按位置放到Splay中维护(每个节点还维护一下该子树的hash),然后二分前缀的长度,用splay计算出指定范围的hash,按hash是否相等来判断是否相同。一开始是将字符串看成26进制,加上unsigned long long的自然溢出来计算哈希,但这...
分类:
其他好文 时间:
2015-02-20 00:06:11
阅读次数:
240