#P16841. [GKS 2021 #B] Increasing Substring
[GKS 2021 #B] Increasing Substring
题目描述
你的朋友 John 刚度假回来,他想和你分享一个关于字符串的新性质。
John 学到,一个由大写英文字母组成的长度为 的字符串 是 严格递增 的,如果对于每一对下标 和 ,满足 (下标从 开始),位置 上的字符小于位置 上的字符。
例如,字符串 ABC 和 ADF 是严格递增的,而字符串 ACC 和 FDA 则不是。
现在他教了你这个有趣的新性质,John 决定挑战你:给定一个长度为 的字符串 ,你需要对每个位置 ,求出以位置 结尾的最长严格递增子串的长度。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。
每个测试用例由两行组成。
第一行包含一个整数 ,表示字符串的长度。
第二行包含一个长度为 的字符串 ,由大写英文字母组成。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y1 y2 ... yn,其中 是测试用例编号(从 开始), 是以位置 结尾的最长严格递增子串的长度。
2
4
ABBC
6
ABACDA
Case #1: 1 2 1 2
Case #2: 1 2 1 2 3 1
提示
在样例 #1 中,以位置 结尾的最长严格递增子串是 A。以位置 、、 结尾的最长严格递增子串分别为 AB、B 和 BC。
在样例 #2 中,每个位置的最长严格递增子串分别为 A、AB、A、AC、ACD 和 A。
限制条件
。
测试集 1
。
测试集 2
。
翻译由 DeepSeek V4 Pro 完成