#11#12MLE求助
查看原帖
#11#12MLE求助
378773
wangjunji楼主2024/8/8 20:57

https://www.luogu.com.cn/record/171453506

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	string str;
	cin >> n >> str;
	long long ans = 0;
	unordered_map<string, long long> m;
	string s;
	m[s] ++;
	s.insert(s.begin(), str[0]);
	m[s] ++;
	for (int i = 1; i < n; i ++)
	{
		if(s.front() == str[i])
		{
			s.erase(s.begin());
			m[s] ++;
			if (s.size() == 0)
			{
			    s.insert(s.begin(), str[++i]);
			    m[s] ++;
			}
		}
		else 
		{
			s.insert(s.begin(), str[i]);
			m[s] ++;
		}

	}
	for (auto x : m)
	{
		ans += (x.second) * (x.second - 1) / 2;
	}
	cout << ans;
	return 0;
}
2024/8/8 20:57
加载中...