zoukankan      html  css  js  c++  java
  • Codeforces Round #426 (Div. 2)B. The Festive Evening

    题意:有26个城门,k个守卫,给出每个城门人进入的顺序,只有当这个城门进入的人是最后一个,该城门的守卫才能去别的城门,问是否有个时间段,守卫不够用

    思路:记录起始,模拟下

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int l[30],r[30];
     5 int b[30];
     6 
     7 int main(){
     8     int n,m; string s;
     9     cin>>n>>m;
    10     cin>>s;
    11     for(int i=s.size()-1;i>=0;i--){
    12         if(r[s[i]-'A']==0) {
    13              r[s[i]-'A']=i;
    14         }
    15 
    16     }
    17     memset(l,-1,sizeof(l));
    18     for(int i=0;i<s.size();i++){
    19         if(l[s[i]-'A']==-1){
    20             l[s[i]-'A']=i;
    21         }
    22 
    23     }
    24 
    25     int Max=0;
    26     for(int i=0;i<s.size();i++){
    27 
    28         if(l[s[i]-'A']==i){
    29             Max++;
    30             if(Max>m) {
    31                 cout<<"YES"<<endl;return 0;
    32             }
    33         }
    34         if(r[s[i]-'A']==i){
    35             Max--;
    36         }
    37         if(Max>m) {
    38                 cout<<"YES"<<endl;return 0;
    39             }
    40 
    41     }
    42     cout<<"NO"<<endl;return 0;
    43 }
  • 相关阅读:
    活动安排问题
    完美字符串
    Codeforces Round #696 (Div. 2) 解题报告
    Codeforces 1459D
    Codeforces 25D
    POJ 1847
    LightOJ 1074
    POJ 3159
    POJ 1511
    POJ 1502
  • 原文地址:https://www.cnblogs.com/hhxj/p/7262467.html
Copyright © 2011-2022 走看看