CF1917B.Erase First or Second Letter

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Erase First or Second Letter

题目描述

给定一个长度为 nn 的字符串 ss。我们定义可以对该字符串进行以下两种操作:

  • 移除字符串的第一个字符;
  • 移除字符串的第二个字符。

你的任务是,计算通过任意次数(可以为零)、任意顺序地应用上述操作后,能够得到的不同的非空字符串的数量。

输入格式

每组测试数据包含多个测试用例。第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n1051 \leq n \leq 10^5),表示字符串的长度。

第二行包含字符串 ss。保证字符串只包含小写英文字母。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数,表示可以得到的不同的非空字符串的数量。

说明/提示

在第一个测试用例中,可以得到以下字符串:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

在第三个测试用例中,例如,可以通过如下方式得到字符串 baba

  • 移除当前字符串 ababaababa 的第一个字符,得到 babababa
  • 移除当前字符串 babababa 的第二个字符,得到 bbabba
  • 移除当前字符串 bbabba 的第二个字符,得到 baba

由 ChatGPT 4.1 翻译

样例

5
5
aaaaa
1
z
5
ababa
14
bcdaaaabcdaaaa
20
abcdefghijklmnopqrst
5
1
9
50
210

在线编程 IDE

建议全屏模式获得最佳体验