P15782 [JAG 2025 Summer Camp #3] Word Search

题目描述

你有一个用陌生语言写成的单词 $S$。已知在这种语言中,一个**音节**是以下三者之一: - 单个大写英文字母 - 单个小写英文字母 - 一个大写英文字母后跟一个小写英文字母 例如,"Ab"、"A" 和 "c" 都可以构成一个音节,但 "IC"、"pC" 和 "Jag" 则不能。 将单词 $S$ 分割成若干个连续的子串,使得每个子串都是一个音节。请确定在这些音节中,可能的**不同音节**数量的最小值和最大值。

输入格式

输入包含多个测试用例。 第一行包含一个整数 $T$($1 \leq T \leq 10000$),表示测试用例的数量。 接下来是 $T$ 个测试用例。每个测试用例的格式如下: $$ S $$ 对于每个测试用例,仅有一行包含一个字符串 $S$($1 \leq |S| \leq 10^6$),由大写和小写英文字母组成。 此外,所有测试用例中 $S$ 的长度之和不超过 $10^6$。

输出格式

输出 $T$ 行。对于每个测试用例,按顺序输出 $S$ 中可能的不同音节数量的最小值和最大值,两者之间用一个空格分隔。

说明/提示

在第一个测试用例中,单词 “RaRa” 可以按以下方式分割成音节:“Ra” + “Ra”、“Ra” + “R” + “a”、“R” + “a” + “Ra” 以及 “R” + “a” + “R” + “a”。其中,+ 表示字符串连接。对于每种分割方式,不同音节的数量分别为 $1$、$3$、$3$ 和 $2$。因此,最小值为 $1$,最大值为 $3$。 翻译由 DeepSeek V3.2 完成