题目描述
对于字符串中的每一个A
,它能够构成字串PA
的数量是它之前的所有P
的数量。
对于字符串中的每一个T
,它能够构成字串PAT
的数量是它之前所有字串PA
的数量。
$O(n)$
C++ 代码
#include <iostream>
using namespace std;
const int mod = 1e9 + 7;
long long p, a, b, res;
int main()
{
string str;
cin >> str;
for (auto c : str)
if (c == 'P') p ++;
else if (c == 'A') b += p;
else res = (res + b) % mod;
cout << res;
}
学到了
##### 牛的,这不比状态机简单多了,还能解决问题
???tqltql
太强了!
在Acwing上 TLE,在PTA的1093上AC了…
请问为什么要取模呢?
我懂了因为题目里让这么干
太强了
太牛了
巧妙
我写出来的简直就像是一坨屎
pat甲级不是不考dp的?
学到了大佬