题解 CF1776G 【Another Wine Tasting Event】
这种东西肯定要考虑构造一组特殊解。
考虑尝试把
我们期待的
但我们很快就会发现这样有问题。比如说 R 与 W 的拼接,然后就寄了……
转而考虑钦定其为
显然此时
前缀和求出
代码:
#include <stdio.h>
int sum[2000007];
char s[2000007];
inline int max(int a, int b){
return a > b ? a : b;
}
int main(){
int n, m, ans = 0;
scanf("%d", &n);
scanf("%s", &s[1]);
m = n * 2 - 1;
for (int i = 1; i <= m; i++){
sum[i] = sum[i - 1] + (s[i] == 'W' ? 1 : 0);
}
for (int i = 1; i <= n; i++){
ans = max(ans, sum[i + n - 1] - sum[i - 1]);
}
printf("%d", ans);
return 0;
}