zoukankan      html  css  js  c++  java
  • 【PAT甲级】1093 Count PAT's (25 分)

    题意:

    输入一行由大写字母'P','A','T',组成的字符串,输出一共有多少个三元组"PAT"(相对顺序为PAT即可),答案对1e9+7取模。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 const long long mod = 1e9+7;
     5 string s;
     6 long long nump[100007],numpa[100007];
     7 long long sum[100007];
     8 int main(){
     9     ios::sync_with_stdio(false);
    10     cin.tie(NULL);
    11     cout.tie(NULL);
    12     cin>>s;
    13     int n=s.size();
    14     for(int i=0;i<n;++i){
    15         nump[i]=nump[i-1];
    16         if(s[i]=='P'){
    17             ++nump[i];
    18             nump[i]%=mod;
    19         }
    20         numpa[i]=numpa[i-1];
    21         if(s[i]=='A'){
    22             numpa[i]+=nump[i];
    23             numpa[i]%=mod;
    24         }
    25         sum[i]=sum[i-1];
    26         if(s[i]=='T'){
    27             sum[i]+=numpa[i];
    28             sum[i]%=mod;
    29         }
    30     }
    31     cout<<sum[n-1];
    32     return 0;
    33 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    二维几何前置知识
    点分治学习笔记
    $fhq-treap$学习笔记
    对拍使用方法
    2021.2.18-2021.5.18 三个月后端开发实习的学习路径
    蓝桥杯常考算法 + 知识点
    Linux
    Linux
    Intern Day112
    Linux上编译运行C/C++程序
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11908490.html
Copyright © 2011-2022 走看看