【Codeforces Round #442 (Div. 2) B】Nikita and string
【链接】 我是链接,点我呀:)
【题意】
【题解】
枚举中间那一段从哪里开始、哪里结束就好 注意为空的话,就全是a. 用前缀和优化一下。【代码】
#include <bits/stdc++.h>
using namespace std;
const int N = 5e3;
string s;
int a[N+10],pre[N+10][2],ans;
int main(){
//freopen("rush.txt","r",stdin);
cin >> s;
int len = s.size();
for (int i = 0;i < len;i++){
a[i+1] = s[i]-'a';
}
for (int i = 1;i <= len;i++){
for (int j = 0;j < 2;j++)
pre[i][j] = pre[i-1][j];
pre[i][a[i]]++;
}
ans = pre[len][0];
for (int i = 1;i <= len;i++)
for (int j = i;j <= len;j++){
int num1 = pre[j][1]-pre[i-1][1];
int num0 = pre[i-1][0] + pre[len][0]-pre[j][0];
ans = max(ans,num1+num0);
}
printf("%d\n",ans);
return 0;
}