全部评论 1

  • #include<iostream>
    #include<string>
    #include<vector>
    using namespace std;
    int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n,q;
    string s;
    cin>>n>>q>>s;
    
    vector<int> ac(n+1,0);
    
    // 标记所有"AC"出现的位置
    for(int i=0;i<n-1;i++){
        if(s[i]=='A'&&s[i+1]=='C'){
            ac[i+1]=1;  // 位置i+1对应原字符串的第i个位置(1-based)
        }
    }
    
    // 构建前缀和
    vector<int> pre(n+1,0);
    for(int i=1;i<=n;i++){
        pre[i]=pre[i-1]+ac[i];
    }
    
    // 处理查询
    while(q--){
        int l,r;
        cin>>l>>r;
        // AC出现在位置i需要满足:l ≤ i ≤ r-1
        cout<<pre[r-1]-pre[l-1]<<'\n';
    }
    
    return 0;
    

    }

    1周前 来自 福建

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页