Codeforces Round #426 (Div. 2) - B
题目链接:http://codeforces.com/contest/834/problem/B
题意:一共有26个门(A-Z表示),然后现在有n个人要走的门和k个守卫。每当有人要经过某个门时,门要一直打开直到最后一个要通过这扇门的人通过之后才关闭,并且在门打开的期间要有一个守卫看守,每个守卫只能看守一个门,当门关闭后守卫该门的守卫才能分配到其他的门。问你是否存在守卫不够用的情况。存在输出YES,否则输出NO。
思路:由于只有26个门,那么记录每个门打开的时间点和关闭的时间点。当遇到门打开的时,k-1,当遇到门关闭时k+1,如果存在k<0说明守卫不够用了。
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
#include<queue>
#include<vector>
#include<time.h>
#include<cmath>
#include<set>
#include<map>
using namespace std;
typedef long long int LL;
const int MAXN = 1e6 + ;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + ;
char str[MAXN];
int st[], ed[];
int main(){
int n, k;
while (~scanf("%d%d", &n,&k)){
scanf("%s", str);
for (int i = ; i < ; i++){
st[i] = ed[i] = -;
}
for (int i = ; i < n; i++){
if (st[str[i] - 'A'] == -){
st[str[i] - 'A'] = i;
ed[str[i] - 'A'] = i;
}
else{
ed[str[i] - 'A'] = max(ed[str[i]-'A'],i);
}
}
bool flag = true;
for (int i = ; i < n&&flag; i++){
if (st[str[i] - 'A'] == i){
k--;
if (k < ){ flag = false; }
}
if (ed[str[i] - 'A'] == i){
k++;
}
}
printf(flag ? "NO\n" : "YES\n");
}
return ;
}
Codeforces Round #426 (Div. 2) - B的更多相关文章
- CodeForces 834C - The Meaningless Game | Codeforces Round #426 (Div. 2)
/* CodeForces 834C - The Meaningless Game [ 分析,数学 ] | Codeforces Round #426 (Div. 2) 题意: 一对数字 a,b 能不 ...
- Codeforces Round #426 (Div. 2)【A.枚举,B.思维,C,二分+数学】
A. The Useless Toy time limit per test:1 second memory limit per test:256 megabytes input:standard i ...
- Codeforces Round #426 (Div. 2)
http://codeforces.com/contest/834 A. The Useless Toy 题意: <,>,^,v这4个箭头符号,每一个都可以通过其他及其本身逆时针或者顺时针 ...
- Codeforces Round #426 (Div. 2) C. The Meaningless Game
C. The Meaningless Game 题意: 两个人刚刚开始游戏的时候的分数, 都是一分, 然后随机一个人的分数扩大k倍,另一个扩大k的平方倍, 问给你一组最后得分,问能不能通过游戏得到这样 ...
- Codeforces Round #426 (Div. 2)A B C题+赛后小结
最近比赛有点多,可是好像每场比赛都是被虐,单纯磨砺心态的作用.最近讲的内容也有点多,即便是点到为止很浅显的版块,刷了专题之后的状态还是~"咦,能做,可是并没有把握能A啊".每场网络 ...
- Codeforces Round #426 (Div. 2) A,B,C
A. The Useless Toy 题目链接:http://codeforces.com/contest/834/problem/A 思路: 水题 实现代码: #include<bits/st ...
- Codeforces Round #426 (Div. 2)A题&&B题&&C题
A. The Useless Toy:http://codeforces.com/contest/834/problem/A 题目意思:给你两个字符,还有一个n,问你旋转n次以后从字符a变成b,是顺时 ...
- 【Codeforces Round #426 (Div. 2) A】The Useless Toy
[Link]:http://codeforces.com/contest/834/problem/A [Description] [Solution] 开个大小为4的常量字符数组; +n然后余4,-n ...
- 【Codeforces Round #426 (Div. 2) B】The Festive Evening
[Link]:http://codeforces.com/contest/834/problem/B [Description] [Solution] 模拟水题; 注意一个字母单个出现的时候,结束和开 ...
- 【Codeforces Round #426 (Div. 2) C】The Meaningless Game
[Link]:http://codeforces.com/contest/834/problem/C [Description] 有一个两人游戏游戏; 游戏包括多轮,每一轮都有一个数字k,赢的人把自己 ...
随机推荐
- JavaScript Map 和 Object 的区别
不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一 ...
- windows下mingw编译faac
进入目录先运行 ./bootstrap 接着就可以 ./configure --without-mp4v2 然后 make make install
- EDM杂谈:第一个屏幕的定义和特点
在EDM营销中,经常会碰到第一个屏幕这个概念.这是什么意思呢?博主跟大家介绍一下. 图一:博文配图 这个主要是指用户在打开邮件时不需要滚动屏幕就可以看到的邮件内容.因为用户第一眼就可以看到,因此这部分 ...
- Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常
Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端 最开始,连接Oracle 数据是需要安装客户端的,ado.net 后来由于微软未来不再支持 Syste ...
- maven 配置参数详解!
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 模态框——angular
ui-bootstrap-tpls.js库 $uibModal服务 $uibModalInstance服务 一.在angular中应用modal $uibModal 使用方法:直接注入到控制器中. . ...
- tensorflow2.0 numpy.ndarray 与tenor直接互转
1.代码参考 import numpy as npimport tensorflow as tf a = np.random.random((5,3)) b = np.random.randint(0 ...
- 深入理解java:1. JVM虚拟机的构成
1.JVM虚拟机的构成 什么是Java虚拟机? 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的. 但是如果要问什么是虚拟机,恐怕很多人就会模 ...
- mangde 的服务启动
启动命令如下
- java8-----lambda语法
// -----lambda语法1------ https://www.baidu.com/link?url=6iszXQlsmyaoWVZMaPs3g8vLRQXzdzTnKzQYTF8lg-5QQ ...