CF1917B题解
CF1917B
题意
给出一个长度为
1、移除字符串
2、移除字符串
问题求在经过若干次以上两种中任意一种操作后,不同的非空字符串的数量。
思路
我们可以将字符串
使用计数数组
详细注释代码
码风丑,勿喷1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#include<bits/stdc++.h>
using namespace std;
int n,t[30]={0};//字符串长度和计数数组t
int main(){
int T;
cin>>T;
for(;T--;){
memset(t,0,30);//将计数数组t归零
string s;
cin>>n>>s;//输入字符串长度和字符串s
int cnt=0,ans=0;
for(int i=1;i<=n;i++){
t[s[i]-'a']++;
if(t[s[i]-'a']==1) cnt++;//统计前半部分中包含的不同字母的数量
res=res+cnt;
}
cout<<res<<endl;
}
return 0;
}
CF1917B题解
https://blog.shaoyanxing.top/2024/02/27/CF1917B题解/