UOJ Logo Universal Online Judge

UOJ

#581. 【NOIP2020】字符串匹配

附件下载 统计

小 C 学习完了字符串匹配的相关内容,现在他正在做一道习题。

对于一个字符串 S,题目要求他找到 S 的所有具有下列形式的拆分方案数: S=ABC,S=ABABC,S=ABABABC,其中 A,B,C 均是非空字符串,且 A 中出现奇数次的字符数量不超过 C 中出现奇数次的字符数量。

更具体地,我们可以定义 AB 表示两个字符串 A,B 相连接,例如 A=aab,B=ab, 则 AB=aabab

并递归地定义 A1=A,An=An1An2 且为正整数)。例如 A=abb,则 A3=abbabbabb

则小 C 的习题是求 S=(AB)iC 的方案数,其中 F(A)F(C)F(S) 表示字符串 S 中出现奇数次的字符的数量。两种方案不同当且仅当拆分出的 ABC 中有至少一个字符串不同。

小 C 并不会做这道题,只好向你求助,请你帮帮他。

输入格式

本题有多组数据,输入的第一行一个正整数 T 表示数据组数。

每组数据仅一行一个字符串 S,意义见题目描述。S 仅由英文小写字母构成。

输出格式

对于每组数据输出一行一个整数表示答案。

样例一

input

3
nnrnnr
zzzaab
mmlmmlo

output

8
9
16

样例解释一

对于第一组数据,所有的方案为:

  1. A=nB=nrC=nnr
  2. A=nB=nrnC=nr
  3. A=nB=nrnnC=r
  4. A=nnB=rC=nnr
  5. A=nnB=rnC=nr
  6. A=nnB=rnnC=r
  7. A=nnrB=nC=nr
  8. A=nnrB=nnC=r

样例二

input

5
kkkkkkkkkkkkkkkkkkkk
lllllllllllllrrlllrr
cccccccccccccxcxxxcc
ccccccccccccccaababa
ggggggggggggggbaabab

output

156
138
138
147
194

样例三

见附加文件中的 ex_string3.in/ans

样例四

见附加文件中的 ex_string4.in/ans

限制与约定

测试点编号 |S| 特殊性质
14 10
58 100
912 1000
1314 215 S 中只包含一种字符
1517 216 S 中只包含两种字符
1821 217
2225 220

对于所有测试点,保证 1T51|S|220

时间限制1s

空间限制512MB

下载

附加文件下载