sp存储P的个数
sa存储可组合成PA个数
st存储PAT个数
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const ll MOD = 1000000007;
int main()
{
string s;
cin >> s;
ll sp=0, sa=0, st=0;
for(int i=0; i<s.length(); i++){
if(s[i] == 'P'){
sp++;
}else if(s[i] == 'A'){
sa += sp;
}else{
st = (st+sa)%MOD;
}
}
cout << st << endl;
return 0;
}
本文介绍了一种计算字符串中特定模式(PAT)出现次数的算法,通过使用三个变量sp、sa和st分别记录P的个数、可组合成PA的个数以及PAT的总个数,遍历字符串并更新这些变量,最终输出PAT的总个数。
256

被折叠的 条评论
为什么被折叠?



