问题 6200 --兔兔分割字符串

6200: 兔兔分割字符串★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 31  解决: 17
[提交][状态][命题人:]

题目描述

定义函数f(s) 表示字符串s中有多少个不同的字符,例如f(abc)=3,f(abababbb)=2。
现给定一个字符串s,兔兔要求将字符串s分割成a,b两个字符串(即字符串a和b拼接在一起为s),并使f(a)+f(b)的值最大,计算并输出max{f(a)+f(b)}。

输入

第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试样例的第1行为整数n (2≤n≤2e5),表示字符串的长度。
第2行长度为n的字符串s,s仅由小写字母组成。
测试数据保证所有的n之和不超过2e5。

输出

每组测试数据输出一个整数,表示max{f(a)+f(b)}。
样例输入
Copy
5
2
aa
7
abcabcd
5
aaaaa
10
paiumoment
4
aazz
样例输出
Copy
2
7
2
10
3

提示

在测试样例1中,字符串s分割为a与a,得到f(a)+f(a)=2
在测试样例2中,字符串s分割为abc与abcd,得到f(abc)+f(abcd)=7
在测试样例3中,字符串s无论怎样分割,得到的值都为2

来源

 

[提交][状态]