题目描述
在多年举办比赛并看着 Bessie 一次又一次地获得第一名后,Farmer John 意识到这绝非偶然。他得出结论,Bessie 一定将胜利写进了 DNA,于是他开始寻找这种「胜利」基因。
他设计了一个过程来识别这个「胜利」基因的可能候选。他获取了 Bessie 的基因组,为一个长为 $N$ 的字符串 $S$,其中 $1\le N\le 3000$。他选择某个数对 $(K,L)$,其中 $1\le L\le K\le N$,表示「胜利」基因候选的长度将为 $L$,并且将在一个较大的 $K$ 长度子串中进行寻找。为了识别这一基因,他从 $S$ 中取出所有 $K$ 长度的子串,我们将称这样的子串为一个 $K$-mer。对于一个给定的 $K$-mer,他取出其所有长度为 $L$ 的子串,将字典序最小的子串识别为胜利基因候选(如果存在并列则选择其中最左边的子串),然后将该字串在 $S$ 中的起始位置 $p_i$(从 $0$ 开始索引)写入一个集合 $P$。
由于他还没有选定 $K$ 和 $L$,他想知道每对 $(K,L)$ 将有多少个候选。
对于 $1\ldots N$ 中的每一个 $v$,帮助他求出满足 $|P|=v$ 的 $(K,L)$ 对的数量。