codeforces 676C (尺取法)
题目大意:
从一个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 (尺取法)相关推荐
- Codeforces 1167E 尺取法
题意:给你一个长度为n的数组,以及数组中的数的取值范围1 - m,问有多少个区间[l, r],使得删除了数组中数值为[l, r]的数之后,数组是非递减的. 思路:我们记录一下每一个数出现的最左端和最右 ...
- Vasya and String CodeForces - 676C(尺取法)
High school student Vasya got a string of length n as a birthday present. This string consists of le ...
- 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 ...
- 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 ...
- 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 ...
- B. Complete the Word (尺取法)
题目链接:http://codeforces.com/problemset/problem/716/B 题目大意:字符串中的 '?' 可以用A->Z任何一个来替换 问能不能通过替换使字符串有一个 ...
- QDUOJ 河老师的新年礼物(尺取法)
河老师的新年礼物 发布时间: 2017年1月1日 15:11 最后更新: 2017年1月1日 15:13 时间限制: 1000ms 内存限制: 256M 描述 河老师的新年礼物是一个长度为 ...
- #尺取法# 尺取法总结和经典例题
题目链接:POJ3061 Subsequence 题目链接:Educational Codeforces Round 11C. Hard Process 题目链接:UVA11572 - Unique ...
- CF660C Hard Process(尺取法)
整理的算法模板合集: ACM模板 尺取法 题目中要我们求最多改变k次后连续的1的最长长度.那么转换一下,不就是求至多包含k个0的子串的最长长度吗? 直接套用尺取法的思想,维护两端点,一旦0的个数超过k ...
- 【常用技巧精选】尺取法
整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...
最新文章
- github里的默认域_GitMAD 一款扫描Github上的敏感信息和数据泄漏工具
- csu 1985: 驱R符
- 计算机中数据表示与计算实验答案,实验二计算机中的数据表示与计算-20210622102303.pdf-原创力文档...
- Win10下VS2015(WDK10)驱动开发环境配置
- php 调用带返回多个结果集的方法,PHP中有多个结果集?
- DCOM EXCE权限配置问题
- C# 使用Task执行异步操作
- 未来教育计算机二级答案19,2019年3月计算机二级MSOffice提分试题及答案019
- Matlab-Octave中绘制网格图和等高线:mesh 和 surf
- 移动设备尚未形成DDoS的3个原因
- Linux ct获取本机ip,[原]archlinux 下最新的netct工具配置ip地址
- “0x005346c4”指令引用的“0x00786000”内存,该内存不能为读
- 正态分布之中心极限定理
- Excel.js导出图片和表格
- .Net部分 面试问题
- DirectShow SDK笔记【关于DirectShow(2)】
- 【Vue】详解Vue生命周期
- Effective Number论文摘记
- CC1101/CC1100、stc单片机模拟2262-2272解码
- 我学习SAP的一点经历