window.cnblogsConfig = {//可以放多张照片,应该是在每一个博文上面的图片,如果是多张的话,那么就随机换的。 homeTopImg: [ "https://cdn.luogu.com.cn/upload/image_hosting/clcd8ydf.png", "https://cdn.luogu.com.cn/upload/image_hosting/clcd8ydf.png" ], }

CF676C 题解

使用尺取法(双指针法)。

  1. 由于字符种类只有 \(2\) 种,答案一定是全 a 或全 b。

  2. 情况 \(1\):全 a

    快指针循环移动,并统计字符 b 的数量 \(cntb\),直到 \(cntb\) 即将超过 \(k\)

  3. 情况 \(2\):全 b

    同上。

  4. 答案即为两种情况取到的最大值。

AC code

#include<bits/stdc++.h> #define int long long using namespace std; int n,k,cnta,cntb,ans,l,r=-1; string s; signed main() { cin>>n>>k>>s; while(r<n-1) { r++; if(s[r]=='a') cnta++; else cntb++; if(cnta<=k||cntb<=k) ans++; else { if(s[l]=='a') cnta--; else cntb--; l++; } } cout<<ans; return 0; }

__EOF__

本文作者wbw121124
本文链接https://www.cnblogs.com/wbw121124/p/17944067.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   wbw121124  阅读(39)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示