萌新袜子求助卡常大佬 CSPS T2
查看原帖
萌新袜子求助卡常大佬 CSPS T2
820837
__3E24AC7002AD9292__楼主2023/10/22 17:06

如题,90 分,TLE 两个点。

#include <bits/stdc++.h>
using namespace std;
inline int read(){
	int res=0,f=1;char c=getchar();
	while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
	while (c>='0'&&c<='9') {res=res*10+(c-'0');c=getchar();}
	return res*f;
}
int n,ans;
string s;
stack<char>stk;
map<stack<char>,int>mp;
int main(){
	n=read(),cin>>s,s=' '+s;
	mp[stk]++;
	for (register int i=1;i<=n;i++){
		if (stk.empty()) stk.push(s[i]);
		else if (stk.top()==s[i]) stk.pop();
		else stk.push(s[i]);
		ans+=(mp[stk]++);
	}
	cout<<ans;
	return 0;
}

qwq

2023/10/22 17:06
加载中...