我好菜啊,做了半天还是做不出来,题目如下:
提取子序列 subarr
Description
「信息学(Informatics)」的另一个译名是「情报学」,这个名字在日本见得比较多。日文的「情報」读音为「Jyouhou」。
现在有一个长为 nn 的字符串 SS ,SS中只包含大小写英文字母或数字。按从前往后的顺序读字符串SS,从SS中取出最靠前的一个子序列构成Jyouhou
串,取出一个串后,从最后一个字符的后一个位置继续尝试取出,直到剩余部分已无法取出一个Jyouhou
串。请求出对于给定的SS,取出的Jyouhou
串的数量是多少。
子序列:从一个序列中取出若干元素(不要求相邻)组成的一个新序列,新序列元素的顺序按照原序列中元素的相对顺序确定。
你可以参考样例解释来帮助理解上面的流程。
Input
测试点包含多组测试数据。
第一行包含一个正整数T (1≤T≤20),表示测试数据组数。
每组数据中包含两行。第一行包含一个正整数n (1≤n≤10^4),表示字符串SS的长度。第二行包含一个字符串SS,含义见「题目描述」。
Output
对于每一组测试数据,输出一行一个正整数,表示该组数据的答案。
Sample Input 1
3 20 JJSy2ouhuouJ5yoxuhou 10 aaaaaaaaaa 14 JyouhoJuyouhou
Sample Output 1
2 0 1
第一组数据中,找到的 2 个Jyouhou
串为JJSy2ouhuouJ5yoxuhou。
第二组数据中,由于不存在 J、y、o、u、h 字符,故无法找到任何一个Jyouhou
串。
第三组数据中,找到的Jyouhou
串为JyouhoJuyouhou。由于前一个Jyouhou
串的最后一个字符 u 在第二个字符 J 前面,字符 u 后面已经无法再找到一个Jyouhou
串了,因此只能找出 1 个。