总之是个找三元回文字符串的题
思路很妙
https://atcoder.jp/contests/abc375/tasks/abc375_d
#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define lowbit(x) (x&-x)
using namespace std;
const double pi=acos(-1);
void solve(){
string s;cin>>s;
int n=s.size();
int ans=0;
vector<int> num(26),sum(26);
for(int i=0;i<n;i++){
int t=s[i]-'A';
ans+=(i-1)*num[t]-sum[t];
num[t]++;
sum[t]+=i;
}
cout<<ans<<endl;
}
signed main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
int t=1;
//cin>>t;
while(t--) solve();
return 0;
}