zoukankan      html  css  js  c++  java
  • Codeforces Round #215 (Div. 2) C. Sereja and Algorithm

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <string>
    
    using namespace std;
    
    int main(){
        string s ;
        cin >>s;
        int m;
        cin >>m;
        vector<int> l(m),r(m);
        for(int i = 0 ; i < m ; ++ i )
            cin >> l[i]>>r[i];
    
        int n = s.length();
        vector<int> x(n+1,0),y(n+1,0),z(n+1,0);
        for(int i = 0; i < n; ++ i){
            x[i+1] =x[i];
            y[i+1] = y[i];
            z[i+1] = z[i];
            if(s[i] == 'x')  x[i+1]++;
            else if(s[i] == 'y') y[i+1]++;
            else z[i+1]++;
        }
    
        for(int i = 0 ; i < m ; ++ i){
            if(r[i]-l[i]+1 < 3) cout<<"YES"<<endl;
            else{
                vector<int> num(3,0);
                num[0] = x[r[i]]-x[l[i]-1];
                num[1] = y[r[i]]-y[l[i]-1];
                num[2] = z[r[i]]-z[l[i]-1];
                sort(num.begin(),num.end());
                if((num[0] == num[1] && num[1] == num[2])||
                   (num[2]-num[1] == 1 && num[1] == num[0]) ||
                   (num[2]-num[1] == 0 && num[1] - num[0] == 1))
                    cout<<"YES"<<endl;
                else cout<<"NO"<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    【排序算法汇总】
    Redis是否安装
    分布式与集群
    Redis学习
    简单算法定义见解
    KMP算法
    红黑树
    JSP与Servlet的关系
    7、创建图及图的遍历(java实现)
    6、二叉树树(java实现)
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3448632.html
Copyright © 2011-2022 走看看