Description对于一个给定长度为N的字符串,求它的第K小子串是什么。Input第一行是一个仅由小写英文字母构成的字符串S第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。
Output输出仅一行,为一个数字串,为第K小的子串。如果子串数目不足K个,则输出-1Sample Inputaabc0 3
Sample Out...
分类:
其他好文 时间:
2015-08-30 17:34:40
阅读次数:
134
题解:
首先我们可以建一个后缀自动机。
然后每条路径走到每个点都是一个串,它们是有字典序的。
我们只需要统计出往每个点走之后都有多少串就好了。
fi=(∑fson)+numif_i = (\sum {f_{son}})+num_i
对于不计重复的情况下,numi=1num_i=1
对于计算重复的情况下,每个节点都有多种走到最后的方式,numinum_i 就是看有这个种数。
比如 ab...
分类:
其他好文 时间:
2015-04-29 19:51:24
阅读次数:
118
题目大意:求严格/非严格K小子串
首先建立Sam
然后BFS一遍求出每个点代表状态的出现次数
此时如果是严格的那么每个点代表状态的出现次数都应该是1
然后DFS一遍求出每个节点的后继状态个数
然后就随便搞了啊= =
妈了个鸡卡常数。。。#include
#include
#include
#include ...
分类:
其他好文 时间:
2015-04-21 20:51:35
阅读次数:
149
求本质不同的第k小子串:求出后缀数组,从0开始扫到n-1,到sa[i]为止一共有sum[i]个本质不同的子串sum[i]=sum[i-1]+n-sa[i]-height[i]直到sum[i]>=k为止求第k小子串:构造后缀树,设f[x]表示以x为前缀的子串数目,g[x]表示以x为前缀的后缀数目查询时...
分类:
其他好文 时间:
2015-04-21 17:56:35
阅读次数:
142