社区讨论
RE,0pts,求调
P11965[GESP202503 七级] 等价消除参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mm6dsliv
- 此快照首次捕获于
- 2026/02/28 21:53 上周
- 此快照最后确认于
- 2026/03/03 11:35 上周
CPP
#include <bits/stdc++.h>
using namespace std;
int sum[30][200005];
int bin[200005];
long long cnt[1000005];
int main(){
int n;cin>>n;
string str;
cin>>str;
str=" "+str;
for(int i=1;i<=n;i++){
for(int j=0;j<26;j++){
if(str[i]==j+'a'){
sum[i][j]=sum[i-1][j]^1;
}
else{
sum[i][j]=sum[i-1][j];
}
}
for(int j=0;j<26;j++){
bin[i]|=(sum[i][j]<<j);
}
}
cnt[0]=1;
long long ans=0;
for(int i=1;i<=n;i++){
ans+=cnt[bin[i]];
cnt[bin[i]]++;
}
cout<<ans<<endl;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...