luogu#P2408. 不同子串个数

不同子串个数

题目背景

因为 NOI 被虐傻了,蒟蒻的 YJQ 准备来学习一下字符串,于是它碰到了这样一道题:

题目描述

给你一个长为 nn 的字符串,求不同的子串的个数。

我们定义两个子串不同,当且仅当有这两个子串长度不一样或者长度一样且有任意一位不一样。

子串的定义:原字符串中连续的一段字符组成的字符串。

输入格式

第一行一个整数 nn

接下来一行 nn 个字符表示给出的字符串。

输出格式

一行一个整数,表示不一样的子串个数。

5
aabaa
11
3
aba
5

提示

提示

请使用64位整数来进行输出。

数据规模与约定

  • 对于 30%30\% 的数据,保证 n1000n\le 1000
  • 对于 100%100\% 的数据,保证 1n1051 \leq n \le 10^5,字符串中只有小写英文字母。