??T2交到T1还有20分
  • 板块灌水区
  • 楼主wrkwrkwrk
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/21 21:29
  • 上次更新2023/11/2 12:07:45
查看原帖
??T2交到T1还有20分
292748
wrkwrkwrk楼主2023/10/21 21:29

code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
    //freopen("game.in","r",stdin);
    //freopen("game.out","w",stdout);
    int n;
    cin>>n;
    string s;
    cin>>s;
    s='$'+s;
    int ans=0;
    stack<char>w;
    if(n<=10000){

        for(int i=1;i<=n;i++){
            while(w.size())w.pop();
            for(int j=i;j<=n;j++){
                if(w.size()==0||w.top()!=s[j])w.push(s[j]);
                else w.pop();
                if(w.size()==0)ans++;
            }
        }
        cout<<ans;
    }else{
        for(int i=1;i<=n;i++){
            while(w.size())w.pop();
            for(int j=i;j<=min(i+20,n);j++){
                if(w.size()==0||w.top()!=s[j])w.push(s[j]);
                else w.pop();
                if(w.size()==0)ans++;
            }
        }
        cout<<ans;

    }
    return 0;

}

洛谷上误交错无意间发现的。

2023/10/21 21:29
加载中...