CF1984D."a" String Problem

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由小写拉丁字母组成的字符串 ss。请计算有多少个非空字符串 t≠"a"t \neq \texttt{"a"},使得可以将 ss 分割成若干子串,满足以下条件:

  • 每个子串要么等于 tt,要么等于 "a"\texttt{"a"};
  • 至少有一个子串等于 tt。

一个字符串 ss 的分割是一个有序的 kk 个字符串 t1,t2,…,tkt_1, t_2, \ldots, t_k(称为子串)的序列,满足 t1+t2+…+tk=st_1 + t_2 + \ldots + t_k = s,其中 ++ 表示连接操作。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例仅一行,包含一个由小写拉丁字母组成的字符串 ss(2≤∣s∣≤2×1052 \leq |s| \leq 2 \times 10^5)。

所有测试用例中 ∣s∣|s| 的总和不超过 3×1053 \times 10^5。

输出格式

对于每个测试用例,输出一个整数,表示满足所有约束条件的非空字符串 t≠"a"t \neq \texttt{"a"} 的数量。

输入输出样例

  • 输入#1

    8
    aaaaa
    baba
    cabacb
    aaabaaa
    bitset
    ab
    abbaaaabbb
    yearnineteeneightyfour

    输出#1

    4
    4
    1
    16
    1
    2
    3
    1

说明/提示

在第一个测试用例中,tt 可以是 aa\texttt{aa}、aaa\texttt{aaa}、aaaa\texttt{aaaa} 或整个字符串。

在第二个测试用例中,tt 可以是 b\texttt{b}、bab\texttt{bab}、ba\texttt{ba} 或整个字符串。

在第三个测试用例中,唯一满足条件的 tt 是整个字符串。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页