题意

题目链接

Sol

考虑不合法的情况只有两种:

  1. 进去了 再次进去

  2. 没进去 但是出来了

显然可以用未知记录抵消掉

直接开个set维护一下所有未知记录的位置

最优策略一定是最后一次操作位置的后继

同时我们需要记录一下每个人是否在里面

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 10;
inline int read() {char c = getchar(); int x = 0, f = 1;while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}
int M, las[MAXN], op[MAXN];//las上一次进去的时间  op最后一次操作的位置
set<int> ms;
signed main() {//freopen("a.in", "r", stdin);M = read();for(int i = 1; i <= M; i++) {char c = 'g';while(c != 'I' && c != 'O' && c != '?') c = getchar();if(c == 'I') {int x = read();if(las[x]) {//在里面 auto pos = ms.upper_bound(op[x]);if(pos == ms.end() || (*pos > i)) return printf("%d", i), 0;else ms.erase(pos);}las[x] = 1;op[x] = i;} else if(c == 'O') {int x = read();if(!las[x]) {auto pos = ms.upper_bound(op[x]);if(pos == ms.end() || (*pos > i)) return printf("%d", i), 0;else ms.erase(pos);}las[x] = 0;op[x] = i;} else ms.insert(i);c = 'g';}puts("-1");return 0;
}

转载于:https://www.cnblogs.com/zwfymqz/p/10320183.html

LOJ#6085. 「美团 CodeM 资格赛」优惠券(set)相关推荐

  1. loj 6085.「美团 CodeM 资格赛」优惠券

    题目: 一个有门禁的大楼,初始时里面没有人. 现在有一些人在进出大楼,每个人都有一个唯一的编号.现在有他们进出大楼的记录,但是有些被污染了,只能知道这里有一条记录,具体并不能知道. 一个人只有进大楼, ...

  2. loj 6083.「美团 CodeM 资格赛」数码

    题目: 给定两个整数\(l\)和\(r\),对于任意\(x\),满足\(l\leq x\leq r\),把\(x\)所有约数写下来. 对于每个写下来的数,只保留最高位的那个数码.求\([1,9]\)中 ...

  3. LiberOJ #6210. 「美团 CodeM 决赛」tree 树形DP

    题目链接:点这里 题解: 需要证明,所求的路径一定是全部权值都为1或者,路径上权值至多有一个为2其余为1且权值2在路径中央. 然后树形DP 设定dp[i][0/1] 以1为根的情况下,以i 节点下子树 ...

  4. 【loj6191】「美团 CodeM 复赛」配对游戏 概率期望dp

    题目描述 n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 输入 一行一个正整数 n . 输出 一行一个实数,表示期望剩下的人数, ...

  5. 「美团 CodeM 复赛」城市网络

    题目链接 题意分析 首先 \([u,v]\)在树上是一条深度递增的链 那么我们可以使用倍增找 \(x\)的祖先当中深度最大的值大于\(x\)的点 然后维护一个\(pre\) 重新建树 这样从\(x\) ...

  6. #6164. 「美团 CodeM 初赛 Round A」数列互质-莫队

    #6164. 「美团 CodeM 初赛 Round A」数列互质 思路 : 对这个题来言,莫队可以 n*根号n 离线处理出各个数出现个的次数 ,同时可以得到每个次数出现的次数 , 但是还要处理有多少 ...

  7. LibreOJ #6177. 「美团 CodeM 初赛 Round B」送外卖2【状压DP】

    「美团 CodeM 初赛 Round B」送外卖2 内存限制:32 MiB 时间限制:200 ms 题目描述 一 张 n 个 点 m 条 有 向 边 的 图 上 , 有 q 个 配 送 需 求 , 需 ...

  8. 2018美团codeM资格赛——python代码

    2018美团codeM资格赛--python代码 第一题:下单 题目描述 美团在吃喝玩乐等很多方面都给大家提供了便利.最近又增加了一项新业务:小象生鲜.这是新零售超市,你既可以在线下超市门店选购生鲜食 ...

  9. Loj #2324. 「清华集训 2017」小 Y 和二叉树

    Loj #2324. 「清华集训 2017」小 Y 和二叉树 小Y是一个心灵手巧的OIer,她有许多二叉树模型. 小Y的二叉树模型中,每个结点都具有一个编号,小Y把她最喜欢的一个二叉树模型挂在了墙上, ...

最新文章

  1. 基于python的scrapy爬虫抓取京东商品信息
  2. 百度发布机器人助理度秘 “三大基石”炼成
  3. retrofit content-length为0_LiveData+Retrofit 网络请求实战
  4. android 调整cpu频率,[IMX6DL][Android4.4] CPU频率调节模式以及降频方法
  5. HTML,CSS,JaveScript
  6. java改错题技巧,看这篇文章准没错!
  7. linux验证cuda安装成功_Linux环境CUDA 4.0入门:验证安装
  8. Java中Web程序修改配置文件不重启服务器的方法
  9. txt形式进行传输WebShell图文演示!
  10. Linux学习(第十七周)
  11. 【经验分享】F e n c e s 桌面布局软件(Win All)----中文免费版+教程
  12. 随机生成手机号的java代码
  13. 专业导师告诉你,有哪些51单片机教程值得大力推荐
  14. ES9023音频解码芯片原理及应用简介
  15. RedisTemplate that could not be found如何解决?
  16. 开一家像嘀嘀那样的公司,需要办理哪些手续和多少预算?
  17. 如何关闭iOS系统自动更新提示?
  18. OkHttp调用第三方接口
  19. 【ASP】链接Access2007与Access2003的不同写法
  20. PLC控制柜从上到下布局是强电到弱电还是反过来?

热门文章

  1. NPOI随笔——图片在单元格等比缩放且居中显示
  2. bootstrap bable 自动换行问题
  3. WLAN高密无线网络部署的信道问题
  4. 用Fiddler在Android上抓HTTPS包
  5. NVIDIA 显卡与 CUDA 在深度学习中的应用
  6. php正则表达式,数组,函数
  7. Ubuntu设置RS-232串口登陆终端(译文,节选)
  8. 数据仓库/集市 星形/雪花形 事实/维度表
  9. 深入理解JVM—性能调优
  10. 转载:Linux kernel SPI驱动解释