abc C 求调
  • 板块学术版
  • 楼主HeYilin
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/3/16 21:43
  • 上次更新2024/3/16 23:12:28
查看原帖
abc C 求调
728459
HeYilin楼主2024/3/16 21:43

link

#include<bits/stdc++.h>
typedef long long int ll;
using namespace std;
const int maxn=1e6+10;
int a[26][maxn],s[26][maxn];
ll ans;
string x;
int main(){
	cin>>x;
	x=" "+x;
	for(int i=1;i<x.size();i++){
		a[x[i]-'a'][i]++;
	}
	for(int i=0;i<26;i++){
		for(int j=1;j<x.size();j++)s[i][j]=s[i][j-1]+a[i][j];
	}
	for(int i=1;i<x.size();i++){
		for(int j=0;j<26;j++){
			if(j==x[i]-'a')continue;
			ans+=s[j][x.size()-1]-s[j][i];
		}
	}
	if(ans)cout<<ans;
	else cout<<1;
	return 0;
}
2024/3/16 21:43
加载中...