Did We Get Everything Covered?

小清新贪心题

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

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

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

posted @   最爱丁珰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示