#CF1827C. 回文划分

回文划分

回文划分

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

子串是一个字符串中连续且非空的一段字符。

长度为偶数的回文串称为偶回文串。例如,zz、abba 和 abccba 是偶回文串,而 codeforces、reality、aba 和 c 不是。

若一个字符串本身是偶回文串,或能被划分成若干个偶回文串,则称它为美丽串。

给定一个仅由小写拉丁字母组成的字符串 ss,请计算 ss 的美丽子串数量。

输入格式

第一行一个整数 tt,表示测试用例数量。

每个测试用例的第一行一个整数 nn,表示字符串长度;第二行一个长度为 nn 的字符串 ss。

输出格式

对每个测试用例输出一行一个整数,表示美丽子串数量。

样例输入 1

6
6
abaaba
1
a
2
aa
6
abcdef
12
accabccbacca
6
abbaaa

样例输出 1

3
0
1
0
14
6

数据范围

1≤t≤1041\le t\le10^4,1≤n≤5⋅1051\le n\le5\cdot10^5,所有测试用例的 nn 之和不超过 5⋅1055\cdot10^5。

子任务编号 分值 特殊限制
1 20 每个 n≤60n\le60,且 ∑n≤600\sum n\le600
2 40 每个 n≤3000n\le3000,且 ∑n≤10000\sum n\le10000
3 无特殊限制