首页 > 其他 > 详细

洛谷P2697宝石串

时间:2020-01-21 11:53:23      阅读:100      评论:0      收藏:0      [点我收藏+]

前缀和+字符串处理即可不懂DP者的福利

#include <bits/stdc++.h>
using namespace std;
int vis[100011999];
signed main() { //稍微优化下
    ios::sync_with_stdio(0); //稍微优化下,真正赛场上还是建议scanf的
    int sum = 10000000; 
    int ans = 0;
    char x;
    int i = 1;
    while(cin>>x) {
        if(x=='G') {
            sum++; 
        } else if(x=='R'){
            sum--;
        }
        if(sum==10000000) { //没发生变化(平衡)
            ans=i;
        } else if(vis[sum]==0) {
            vis[sum] = i;  //记录结果
        } else {
            ans = max(ans,i-vis[sum]); //计算答案
        }
        i++;
    }
    std::cout<<ans<<endl;
}

洛谷P2697宝石串

原文:https://www.cnblogs.com/littlefrog/p/12220829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!