AcWing 2868. 子串分值
原题链接
中等
作者:
贩卖日落_02
,
2025-03-24 13:36:44
· 河南
,
所有人可见
,
阅读 1
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
cin >> str;
long long len = str.size();
long long left, right;
long long sum = 0;
char s;
for (long long i = 0; i < len; i++)
{
s = str[i];
for (right = i + 1; right < len; right++)//向右寻找相同的
if (str[right] == s)
break;
for (left = i - 1; left >= 0; left--)//向左寻找相同的
if (str[left] == s)
break;
sum += (right - i) * (i - left);//累加贡献度
}
cout << sum << endl;
return 0;
}