问题 V: 家庭作业

传统题
2.000s 时间限制
256MB 内存限制
1 提交
1 解决

【题目描述】
【题目描述】
小智在学校读一年级的时候,有一次老师给全班布置了这样的家庭作业。她给学生们一根由n个小写拉丁字母组成的绳子;任务是学习字符串中包含的字母的书写方式。然而,由于小智太懒了,他根本不想学那些字母。于是他决定丢掉字符串的某个部分(不一定是连续的部分)。丢掉的部分可以由任意数量、任意长度、任意距离的部分组成。然而,小智知道,如果他丢失超过k个字符,就会非常可疑。
查找在删除不超过k个字符后,可以留在字符串中的不同字符的最少数量。您还必须找到任何可能的方法来删除字符。
【输入】
第一行输入一个长度为n(1≤n≤105)的字符串。字符串由小写拉丁字母组成。第二行输入一个数字k(0≤k≤105)。
【输出】
输出一个数字m 表示在给定字符串丢失不超过k个字符后,可以保留的不同字符的最小可能数量。
 
在第二行输出丢失一些字符后小智可以得到的字符串。字符串应该有m个不同的字符。最终字符串应该是初始字符串的子序列。如果小智可以得到几个不同的字符串,其中包含m个不同的字符,则打印其中的任何一个。
【输入样例一】 aaaaa 4 【输出样例一】 1 aaaaa 【输入样例二】
abacaba 4 【输出样例二】
1 aaaa 【输入样例三】
abcdefgh 10 【输出样例三】
0 【说明】
在第一个示例中,字符串由五个相同的字母组成,但您只允许删除其中的4个,以便至少留下一个字母。因此,正确答案是1和任何长度从1到5的字符“a”组成的字符串。
在第二个示例中,允许删除4个字符。您不能删除所有的字符,因为字符串的长度等于7。但是,您可以删除除"a"以外的所有字符(因为它们不超过四个),这将保留"aaaa"字符串。
在第三个样本中,给您一条长度等于8的字符串k=10,因此可以删除整条线。正确答案是0和一个空字符串。

【样例输入】复制
aaaaa
4
【样例输出】 复制
1
aaaa

题目类型~

字符串