P16103 [ICPC 2019 NAIPC] Cutting Strings
题目描述
给定一个字符串 $s$ 和一个整数 $k$。你可以从 $s$ 中删除至多 $k$ 个互不相交的子串。你的任务是找到字典序(即字母顺序)最大的结果字符串。
例如,对于字符串 **abcdcada** 和 $k=2$,你可以选择子串 [**abc**]d[**ca**]da 并删除它们,得到 **dda**。
输入格式
每个输入的第一行包含一个整数 $c$($1 \leq c \leq 2\cdot10^5$),表示你需要解决的测试用例个数。
接下来的 $c$ 行,每行包含一个整数 $k$ 和一个字符串 $s$($1 \leq k \leq |s| \leq 10^5$,$s$ 由小写字母组成),两者之间用空格分隔。
输入中所有字符串的总长度不超过 $10^6$。
输出格式
对于每个测试用例,输出通过从 $s$ 中删除至多 $k$ 个互不相交的子串所能得到的字典序最大的字符串。
说明/提示
翻译由 DeepSeek V3.2 完成