PAT高效技巧算法---1040 有几个PAT (25分)

Posted bingers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT高效技巧算法---1040 有几个PAT (25分)相关的知识,希望对你有一定的参考价值。

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分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1040 有几个PAT

P1040 有几个PAT

PAT (Basic Level) Practise 1040 有几个PAT(DP)

PAT乙级1040 有几个PAT (25 分)

1040 有几个PAT (25 分)

1040 有几个PAT