有人评论了我再解释(/淘气)
就是这米拽,谁让没人看呢!
#include<iostream>
#include<map>
using namespace std;
map<char,long long> h;
const long long N=1e6+5;
long long dp[N];
long long p;
string str;
int main(){
cin>>str;
int len=str.size();
dp[0]=1;
h[str[0]]=1;
for(long long i=1;i<len;i++){
if(h[str[i]]){
p+=h[str[i]];
dp[i]=(i+1)*(i+2)/2-p+dp[i-1];
h[str[i]]=i+1;
}
else{
dp[i]=(i+2)*(i+1)/2-p+dp[i-1];
h[str[i]]=i+1;
}
}
cout<<dp[len-1];
}
大佬,求解释qwq
1
大佬,求解释qwq