对一个字符串,怎么用后缀数组求出现i∈[1,n]次的子串的个数
利用height数组求解,首先我们要知道求L到R次的数量可以利用L次以上的数量减去R+1次以上的数量求得,那么这个题就转换为了求出现k次以上的字符串的个数。
首先k=1 特判,即 n-sa[i]-height[i],即所有不相同子串。
k>1时,利用height数组,对每k-1个height数组求最小值,求出的结果记为 now ,若now>pre pre为上个k-1 heigh数组的最小值,则ans+=now-pre 之后将pre更新为now即可