3655. 日落轨迹

单点时限: 2.5 sec

内存限制: 512 MB

“我喜欢看日落,我们一起看日落吧。”
“可是得等等。”
“等什么?”
“等太阳落山。”

你的星球只有房子那么大,只要你愿意,挪动几步椅子就可以随时看到你喜欢的夕阳晚景了。

但你和他不同,没有小狐狸的陪伴,身旁只有一台呆板的摄像机忠实地记录着日落的轨迹。

日落的轨迹总是如此的相似,以至于在你的摄像机中每一次日落的场景都毫无差别。

可你不甘于单调,希望在重复中找到不同。你通过截取很多很多不同的日落片段,来表现日落的变化多姿。

你找出了摄像机的视频,发现它的编码都是由小写字母构成的。一段日落场景则是由一个全部是小写字母的字符串 $S$ 构成;摄像机中的场景,就是字符串 $S$ 被复制很多很多份后组成的大字符串 $SSSS\cdots $。

你所谓的不同日落片段的个数,就是寻找大字符串 $SSSS\cdots $ 中前 $x$ 位中有所少个本质不同的子串。

输入格式

第一行输入两个整数 $n,q$ ($1\le n,q\le 10^5$),表示字符串 $S$ 的长度和询问的个数。

第二行输入一个长度为 $n$ 的由小写字母组成的字符串 $S$。

接下来的 $q$ 行,每行包含一个整数 $x$ ($1\le x\le 10^9$),表示询问大字符串 $SSSS\cdots $ 的前 $x$ 中有多少个本质不同的子串。

输出格式

输出包含 $q$ 行,第 $i$ 行一个整数,代表第 $i$ 个询问的答案。

样例

Input
4 5
abaa
2
4
5
10
123
Output
3
8
11
31
483

14 人解决,18 人已尝试。

15 份提交通过,共有 54 份提交。

5.3 EMB 奖励。

创建: 6 年,1 月前.

修改: 6 年前.

最后提交: 2 年,9 月前.

来源: EOJ Monthly 2018.12

题目标签