PAT高效技巧算法---1040 有几个PAT (25分)
Posted bingers
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT高效技巧算法---1040 有几个PAT (25分)相关的知识,希望对你有一定的参考价值。
- 和1045快排那个思想很像
- 左边、右边的分别累加在数组中存入
#include<iostream>
#include<vector>
#include<cctype>
#include<map>
#include<set>
#include<sstream>
#include<string>
#include<cstdio>
#include<algorithm>
#define inf 0x3f3f3f3f
#define MOD 1000000007
const int maxn=100005;
typedef long long ll;
using namespace std;
int leftsum[maxn];
int main() {
string s;cin>>s;
for(int i=0;i<s.size();i++){
if(i>0) leftsum[i]=leftsum[i-1];
if(s[i]==‘P‘) leftsum[i]++;
}
int rightsum=0,ans=0;
for(int i=s.size()-1;i>=0;i--){
if(s[i]==‘T‘) rightsum++;
else if(s[i]==‘A‘) ans=(ans+leftsum[i]*rightsum)%MOD;
}
cout<<ans<<"
";
return 0;
}
以上是关于PAT高效技巧算法---1040 有几个PAT (25分)的主要内容,如果未能解决你的问题,请参考以下文章