问一个字符串中有几个子序列是PAT?从后往前.先找T.T++.找到A.A+=T.说明已经找到了A个AT了.最后找到P.+=A.更新ANS就好
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 1000000007;
int main()
{
string s;
cin >> s;
int n = s.size();
ll A = 0, T = 0, ans = 0;
for (int i = n - 1; i >= 0; i--) {
if (s[i] == 'T') T++;
if (s[i] == 'A') A += T;
if (s[i] == 'P') ans = (ans + A) % MOD;
}
cout << ans << endl;
}