C. 撕开那个字符串

    传统题 1000ms 256MiB

撕开那个字符串

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

C 撕开那个字符串

题目描述

给定一个由小写拉丁字母组成的字符串 ss

每次操作,你可以选择字符串中的若干(至少一个)位置,这些位置之间不能相邻。然后你删除这些位置上的字母,剩下的部分按原顺序拼接。

请问,最少需要多少次操作,才能使字符串 ss 中所有字母都相同?

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例仅一行,包含一个由小写拉丁字母组成的字符串 ss,其长度为 1121052 \cdot 10^5

所有测试用例中字符串的总长度不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一个整数,表示将给定字符串 ss 变为所有字母相同所需的最少操作次数。

输入输出样例

5
abacaba
bigcodeforce
oooooooo
abcdef
mewheniseearulhiiarul
1
3
0
2
4

说明/提示

在第一个测试用例中,你可以选择第 2,4,62, 4, 6 个位置,删除对应的字母 'b'、'c' 和 'b'。

在第三个测试用例中,字符串中的字母已经全部相同,因此不需要进行任何操作。

在第四个测试用例中,一种可能的两步操作方案如下:首先选择第 1,4,61, 4, 6 个位置,字符串变为 "bce"。然后选择第 1133 个位置,字符串变为 "c"。此时所有字母都相同,因为只剩下一个字母。

数据范围

所有测试用例中字符串仅包含小写字母且总长度不超过 21052 \cdot 10^5

2026年春假集训•趣味团队赛

未参加
状态
已结束
规则
IOI
题目
8
开始于
2026-5-2 13:00
结束于
2026-5-2 17:00
持续时间
4 小时
主持人
参赛人数
26