码迷,mamicode.com
首页 >  
搜索关键字:poj3415    ( 11个结果
kuangbin后缀数组 - I题 POJ3415 单调栈解法
题意,给出两个字符串,给一个k,求出满足a的字串与b的子串完全一样的长度 =k的所有情况的数量。 翻译一下题意就是求所有后缀中,lcp =k的即可。 我们拼接两个字符串,中间用不出现的字符隔开即可。 然后就是如何求解的问题。 我们知道lcp(i,j)=min(height[i+1],....,hei ...
分类:编程语言   时间:2019-12-03 23:10:23    阅读次数:66
poj3415_Common Substrings
题意 给定两个字符串,求长度大于等于k的公共子串数。 分析 将两个字符串中间加个特殊字符拼接,跑后缀数组。 将题目转化为对每一个后缀求$\sum_{j=1}^{i 1}lcp(i,j)$,且后缀$i$和$j$属于不同字符串。 由于$lcp$只跟$h$数组的区间最小值有关,因此对于单调递减的$h[i] ...
分类:其他好文   时间:2019-08-25 21:36:42    阅读次数:102
poj3415 Common Substrings(后缀自动机)
A substring of a string T is defined as: T( i, k)= TiTi +1... Ti+k -1, 1≤ i≤ i+k-1≤| T|. Given two strings A, B and one integer K, we define S, a set ...
分类:其他好文   时间:2019-05-18 17:12:43    阅读次数:117
POJ3415:Common Substrings——题解
http://poj.org/problem?id=3415 给定两个字符串A 和B,求长度不小于k 的公共子串的个数(可以相同)。 论文题,和上道题(POJ2774)类似,首先想到现将AB串合并,然后子串可以表示成字符串后缀的前缀,于是我们比较任意两个A后缀和B后缀,用height求出他们的公共子 ...
分类:其他好文   时间:2018-02-24 23:03:58    阅读次数:247
【poj3415】 Common Substrings
http://poj.org/problem?id=3415 (题目链接) 题意 给定两个字符串 A 和 B,求长度不小于 k 的公共子串的个数(可以相同)。 Solution 后缀数组论文题。。。 基本思路是计算 A 的所有后缀和 B 的所有后缀之间的最长公共前缀的长度,把最长公共前缀长度不小于 ...
分类:其他好文   时间:2017-01-13 10:10:31    阅读次数:242
【poj3415-长度不小于k的公共子串个数】后缀数组+单调栈
这题曾经用sam打过,现在学sa再来做一遍。 基本思路:计算A所有的后缀和B所有后缀之间的最长公共前缀。 分组之后,假设现在是做B的后缀。前面的串能和当前的B后缀产生的公共前缀必定是从前往后单调递增的,每次与h[i]取min时必定将栈尾一些长的全部取出来,搞成一个短的。 所以就开一个栈,栈里存的是长 ...
分类:编程语言   时间:2016-09-28 22:03:44    阅读次数:227
poj3415 Common Substrings(后缀数组,单调栈)
Common SubstringsTime Limit: 5000MSMemory Limit: 65536KTotal Submissions: 8748Accepted: 2899DescriptionA substrin...
分类:编程语言   时间:2015-11-29 19:33:16    阅读次数:244
POJ3415--Common Substrings 后缀数组 +单调栈
题意: 求长度大于等于K的公共子串的个数。位置不同就算不同。后缀数组求依次SA LCP, 然后就是统计答案了, 暴力统计n^2复杂度显然不可以, 我们可以利用lcp数组的"部分单调性", 用一个栈,栈中保存小于等于当前lcp的原数组的下标,两次统计, 第一次统计, 按B串统计, 把A串大于等于K的那...
分类:编程语言   时间:2015-08-07 22:03:51    阅读次数:125
POJ3415:Common Substrings(后缀数组+单调栈)
Description A substring of a string T is defined as: T(i, k)=TiTi+1...Ti+k-1, 1≤i≤i+k-1≤|T|. Given two strings A, B and one integer K, we define S, a set of triples (i, j, k): S = {(i, j, ...
分类:编程语言   时间:2015-06-07 23:41:18    阅读次数:391
【POJ3415】Common Substrings 后缀自动机
题意: 给两个串,问有多少长度大于等于K的公共子串(位置不同也算一对) 题解: 后缀自动机DP 对第一个串建立后缀自动机,然后做一些预处理, 然后拿第二个串在后缀自动机上跑,到每个节点加一次贡献。 但是这样需要每个点往parent树上跑一遍,会TLE,所以可以加个lazy。 然后代码中有两次运用到拓扑序来从子向父推DP值。 呃,说得乱糟糟的。 Orz No_stop 不...
分类:其他好文   时间:2015-01-14 15:35:14    阅读次数:209
11条   1 2 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!