【寒假集训——cf题目翻译10】

题目十

D. Palindromes Coloring

[原题链接]

原题链接

[题目翻译]
你有一个字符串s,由小写的拉丁字母表里的字母表示。
你可以将一些字母用1到k颜色上色,不需要涂色所有的字母,但是对于每一个颜色,都有一个字母与之对应。
然后你可以用任意次数交换你想交换的任意两个涂有相同颜色的符号。
然后,k字符串就被创造出来了,他们中的第i个会包含所有被颜色i涂色的字母,在字符串s中写下这个序列。
你的任务就是去给这些字符串里的字母上色,这样所有的答案k字符串都是回文形式的,k字符串的最短形式要尽可能长。
将第一个案例作为例子,如果你需要搞清楚的话。
召回一个回文字符串,如果它从左到右读和从右向左读都是一样的话。例如,字符串abacaba, cccc, z和dxd都是回文,但是字符串abab和aaabaa就不是。

[输入]

输入数据的第一行包含一个整数t(1≤t≤10e4)—表示输入测试组数

输入数据的描述如下。

描述每组输入的第一行包含两个整数n和k(1≤k≤n≤2⋅10e5)—表示字符串的长度和颜色所表示的数字,对于哪个字母会被上色。
描述输入的第二行数据包含小写拉丁字母的一个长度为n的字符串

可以保证的是测试用例的和n不能超过2·10e5;

[输出]

对于每一组测试用例,输出一个单独的整数—表示最短回文字符串的最大长度会被输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值