题目链接:传送门 题解: 利用KMP的fail失配数组,快速找到当前后缀与前缀的公共前缀点 ...
分类:
其他好文 时间:
2017-07-24 21:22:53
阅读次数:
258
题目链接:https://vjudge.net/problem/UVA-12338 题意: 给你n个串 问你任意两个串的最大公共前缀长度是多少 题解: 二分+hash 思路很明显,我最近用来写hash 很鸡肋 ...
分类:
其他好文 时间:
2017-07-24 00:19:28
阅读次数:
162
思路:枚举第一个字符串的位置,然后枚举最长公共前缀的长度,时间即会下降…… #pragma comment(linker, "/STACK:1024000000,1024000000") #include<iostream> #include<cstdio> #include<cstring> #i ...
分类:
其他好文 时间:
2017-07-23 18:20:00
阅读次数:
131
题目链接:https://vjudge.net/contest/70655#problem/C 后缀数组的又一神奇应用。不同子串的个数,实际上就是所有后缀的不同前缀的个数。 考虑所有的后缀按照rank排好了,我们现在已知height,也就是相邻的两个的最长公共前缀是多少。那么不同的子串个数怎么统计呢 ...
分类:
编程语言 时间:
2017-07-23 10:00:22
阅读次数:
172
一、trie介绍 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/tra?/ “try”。 Trie树可以利用字符串的公共前缀 ...
分类:
编程语言 时间:
2017-07-19 17:46:19
阅读次数:
314
Trie树,即字典树或单词查找树,主要用于大量字符串的检索、去重、排序等操作。 主要原理就是利用字符串的公共前缀建立一棵多叉树,牺牲空间换取时间。 用Trie树求一个string的所有不相同的子串: ...
分类:
其他好文 时间:
2017-07-17 23:49:25
阅读次数:
255
Write a function to find the longest common prefix string amongst an array of strings. 找出,给出的一堆字符串的公共前缀。两个两个比较 ...
分类:
其他好文 时间:
2017-07-17 21:46:42
阅读次数:
127
后缀数组+st表+单调栈 这道题是差异的加强版 看起来和差异差不多,但是询问的位置是不连续的,那么我们让他们连续就行。 把每个位置赋成rank值,因为lcp[i]表示rank=i和i+1的最长公共前缀,然后st表处理出相邻两个rank的lcp值,然后和差异一样,单调栈处理最左端和最右端的区间,乘起来 ...
分类:
其他好文 时间:
2017-07-16 13:28:31
阅读次数:
125
【题目链接】 click 【题目大意】 给出一些字符串,询问查询任意两个字符串的最长公共前缀 【题解】 将字符串拼接,对拼接的字符串做后缀数组,对于查询的两个字符串, 只要在height数组上查询区间最小值即可。 特别注意多组数据时候对字符串结尾的处理,很久没写容易忽视导致wa。 【代码】 ...
分类:
编程语言 时间:
2017-07-15 19:57:32
阅读次数:
296
一边听省队dalao讲课一边做题真TM刺激。 BZOJ的discuss简直就是题面plus、大样例、SuperHINT、dalao题解的结合体。 Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字 ...
分类:
Web程序 时间:
2017-07-07 23:32:25
阅读次数:
304