#50752. 字符串匹配

    ID: 50752 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>NOIP提高组/CSP-S提高T4/省选KMP可持久化线段树(主席树)魔扣OJ

字符串匹配

暂无测试数据。

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

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

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

并递归地定义 $A^1 = A$,$A^n = A^{n−1}A$($n \geq 2$ 且为正整数)。例如 $A = \mathrm{abb}$,则 $A^3 = \mathrm{abbabbabb}$。

则小 C 的习题是求 $S = (AB)^{i}C$ 的方案数,其中 $F(A) \leq F©$,$F(S)$ 表示字符串 $S$ 中出现奇数次的字符的数量。两种方案不同当且仅当拆分出的 $A$、$B$、$C$ 中有至少一个字符串不同。

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

输入格式

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

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

输出格式

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

数据范围与提示

测试点编号 $\vert S\vert\leq$ 特殊性质
1~4 $10$
5~8 $100$
9~12 $1000$
13~14 $2^{15}$ $S$ 中只包含一种字符
15~17 $2^{16}$ $S$ 中只包含一种字符
18~21 $2^{17}$
22~25 $2^{20}$

对于所有测试点,保证 $1 \leq T \leq 5$,$1 \leq |S| \leq 2^{20}$。

3
nnrnnr
zzzaab
mmlmmlo
8
9
16
5
kkkkkkkkkkkkkkkkkkkk
lllllllllllllrrlllrr
cccccccccccccxcxxxcc
ccccccccccccccaababa
ggggggggggggggbaabab
156
138
138
147
194
undefined
undefined