题目大意:

从一个ab序列中最多改变k个字符找到最长的相同连续子序列.

题目解法:

维持一个中间字符均为a的子序列,当右端点遇到b时,如果此时还有更改次数,就把b改成a,右端点++;如果此时已经没有了更改次数,就移动左端点,直到左端点越过第一个非a字母,然后右端点++.

扫两次,第一次是字母a,第二次是字母b,然后输出答案即可.

#include <cstdio>
#include <algorithm>using namespace std;char a[100005];int main()
{int n,k,maxx;while(~scanf("%d%d",&n,&k)){maxx = 0;scanf("%s",a);int cnt = 0;int left = 0,right = 0;while(right < n){if(a[right] == 'a'){right++;}else if(a[right] != 'a'){if(cnt < k){cnt++;right++;}else{while(left < right && a[left] == 'a')left++;left++;right++;}}maxx = max(maxx,right-left);   }cnt = 0;right = left = 0;while(right < n){if(a[right] == 'b'){right++;}else if(a[right] != 'b'){if(cnt < k){cnt++;right++;}else{while(left < right && a[left] == 'b')left++;left++;right++;}}maxx = max(maxx,right-left);  }printf("%d\n",maxx);}
}

codeforces 676C (尺取法)相关推荐

  1. Codeforces 1167E 尺取法

    题意:给你一个长度为n的数组,以及数组中的数的取值范围1 - m,问有多少个区间[l, r],使得删除了数组中数值为[l, r]的数之后,数组是非递减的. 思路:我们记录一下每一个数出现的最左端和最右 ...

  2. Vasya and String CodeForces - 676C(尺取法)

    High school student Vasya got a string of length n as a birthday present. This string consists of le ...

  3. Longest k-Good Segment CodeForces - 616D(尺取法)

    The array a with n integers is given. Let's call the sequence of one or more consecutive elements in ...

  4. Codeforces Round #364 (Div. 2)C. They Are Everywhere(尺取法)

    题目链接: C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input ...

  5. Codeforces 1548B Integers Have Friends 尺取法 Hdu 7073 Integers Have Friends 2.0 力能扛鼎随机算法

    文章目录 题意 题解 CF1548B 题解 Hdu 7073 CF1548B HDU7073 题意 定义数的好友组为一个集合SSS,取正整数m>1,∀x∈s,xmodmm>1,\foral ...

  6. B. Complete the Word (尺取法)

    题目链接:http://codeforces.com/problemset/problem/716/B 题目大意:字符串中的 '?' 可以用A->Z任何一个来替换 问能不能通过替换使字符串有一个 ...

  7. QDUOJ 河老师的新年礼物(尺取法)

    河老师的新年礼物 发布时间: 2017年1月1日 15:11   最后更新: 2017年1月1日 15:13   时间限制: 1000ms   内存限制: 256M 描述 河老师的新年礼物是一个长度为 ...

  8. #尺取法# 尺取法总结和经典例题

    题目链接:POJ3061 Subsequence 题目链接:Educational Codeforces Round 11C. Hard Process 题目链接:UVA11572 - Unique ...

  9. CF660C Hard Process(尺取法)

    整理的算法模板合集: ACM模板 尺取法 题目中要我们求最多改变k次后连续的1的最长长度.那么转换一下,不就是求至多包含k个0的子串的最长长度吗? 直接套用尺取法的思想,维护两端点,一旦0的个数超过k ...

  10. 【常用技巧精选】尺取法

    整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...

最新文章

  1. github里的默认域_GitMAD 一款扫描Github上的敏感信息和数据泄漏工具
  2. csu 1985: 驱R符
  3. 计算机中数据表示与计算实验答案,实验二计算机中的数据表示与计算-20210622102303.pdf-原创力文档...
  4. Win10下VS2015(WDK10)驱动开发环境配置
  5. php 调用带返回多个结果集的方法,PHP中有多个结果集?
  6. DCOM EXCE权限配置问题
  7. C# 使用Task执行异步操作
  8. 未来教育计算机二级答案19,2019年3月计算机二级MSOffice提分试题及答案019
  9. Matlab-Octave中绘制网格图和等高线:mesh 和 surf
  10. 移动设备尚未形成DDoS的3个原因
  11. Linux ct获取本机ip,[原]archlinux 下最新的netct工具配置ip地址
  12. “0x005346c4”指令引用的“0x00786000”内存,该内存不能为读
  13. 正态分布之中心极限定理
  14. Excel.js导出图片和表格
  15. .Net部分 面试问题
  16. DirectShow SDK笔记【关于DirectShow(2)】
  17. 【Vue】详解Vue生命周期
  18. Effective Number论文摘记
  19. CC1101/CC1100、stc单片机模拟2262-2272解码
  20. 我学习SAP的一点经历

热门文章

  1. tinyxml初体验
  2. Redis安装和启动报错解决
  3. 某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种
  4. js实现登录表单验证
  5. java爬虫微信公众号信息_微信公众号爬虫项目(reptile)
  6. C++中常引用的注意事项以及常引用和非常引用之间的转换
  7. catia保存成stp文件时部件丢失_超详细的分布式文件系统FastDFS磁盘恢复介绍
  8. Unix系统中常用的信号含义
  9. python测试用例不通过发送报告_python+unittest 多用例测试执行失败的问题
  10. 十大排序算法——插入排序法(C语言)