Codeforces Round #354 (Div. 2) C. Vasya and String 尺取

原创 2016年06月01日 18:46:12

题目大意:

给你一个只含‘a’ ‘ b ’ 的字符串,问不超过k次替换(‘a’换成‘b’,‘b’换成‘a’)可以产生的

最长连续且字符都相同的子串的长度是多少。“裸的”尺取。


#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;

char s[maxn];
int a[maxn];
int n,k;

int work(){
    int s=0,t=0,ans=0;
    int cnt=0;
    while( s<=t ){
        while( cnt<=k &&t<n ){
            if( a[t]==0 ){
                cnt++;
            }
            if(cnt<=k)
                ans=max( ans,t-s+1 );
            t++;
        }
        if( a[s]==0 )cnt--;
        s++;
    }
    return ans;
}


int main()
{
    scanf("%d%d",&n,&k);
    scanf("%s",s);
    for(int i=0;i<n;i++){
        a[i]=s[i]-'a';
    }
    int ans1=work();
    for(int i=0;i<n;i++)a[i]=a[i]?0:1;
    int ans2=work();
    printf("%d\n",max(ans1,ans2));

	return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Codeforces Round #354 (Div. 2) C. Vasya and String (尺取法)

C. Vasya and Stringtime limit per test 1 second memory limit per test 256 megabytes input stand...

【Codeforces Round 354 (Div 2)C】【前缀和二分or双指针】Vasya and String ab序列最多改变k位置的最长同字符子串长度

C. Vasya and String time limit per test 1 second memory limit per test 256 megabytes ...

Codeforces Round #354 (Div. 2) C Vasya and String

Codeforces Round #354 (Div. 2) C Vasya and String time limit per test 1 second memory limit...

codeforces #354 div.2 C &&676C Vasya and String

题目链接:http://codeforces.com/problemset/problem/676/C——————————C. Vasya and String time limit per tes...

Codeforces Round #324 (Div. 2)——C. Marina and Vasya

题意: 现在给你长度为n的两个字符串,然后让你求第三个字符串,使得它与a串和b串的不同的字符数有t个,然后让你输出这个满足方案的字符串,如果不存在,则输出-1。 思路: 就是分情况讨论,但是我一...

Codeforces Round #324 (Div. 2) C. Marina and Vasya

time limit per test 1 second memory limit per test 256 megabytes input standard input ...

Codeforces Round #324 (Div. 2)C. Marina and Vasya

A的万般无奈。。。后来跑了大牛的这份代码发现, 题意是求一个序列与给定的两个序列有t个不同。 只要保证。。。对应位置就行了。。 所以处理起来非常方便。。。。。。。。。。。。。。 可是没有感觉是...

Codeforces Round #324 (Div. 2) C. Marina and Vasya(贪心)

题意: 给定2个长度为N≤105的字符串a,b,定义f(a,b)为a与b相同位置不同字符的个数给定2个长度为N\le 10^5的字符串a, b, 定义f(a,b)为a与b相同位置不同字符的个数 ...
  • lwt36
  • lwt36
  • 2016年01月28日 18:50
  • 161

Codeforces Round 281 div2 C Vasya and Basketball

C. Vasya and Basketball time limit per test 2 seconds memory limit per test 256 megabytes inpu...

Codeforces 584 C. Marina and Vasya (Codeforces Round #324 (Div. 2))

C. Marina and Vasya time limit per test 1 second memory limit per test 256 megabytes ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Codeforces Round #354 (Div. 2) C. Vasya and String 尺取
举报原因:
原因补充:

(最多只允许输入30个字)