Did We Get Everything Covered?

小清新贪心题

我们直接考虑如何找出反例,假设我们已经知道了这个反例,那么为什么找不到呢?我们在尝试找的时候,肯定是依次找反例的每个字母,根据贪心,肯定是越往前找越好,而即使这个样子我们最后都无法匹配完这个反例

所以我们可以想出一个贪心算法:依次遍历每个字母,并用一个数组\(mark\)记录某个小写字母是否被记录,如果当前字母没被记录(\(mark[i]\)\(0\)),那么就让\(cnt++\)并且让\(mark[i]=1;某个时刻当\)cnt=k\(时,我们就将\)cnt$变成\(0\)并且让\(mark\)数组清零,然后将刚才遍历过的下标划分成一个段;我们重复上述过程,直到\(n\)遍历完了,划分出来若干个段

我们现在就可以知道到,对每个段,找出每个段的最后一个字母,依次拼接起来,再添加几个字母就是反例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值