LOJ#6085. 「美团 CodeM 资格赛」优惠券(set)
题意
题目链接
Sol
考虑不合法的情况只有两种:
进去了 再次进去
没进去 但是出来了
显然可以用未知记录抵消掉
直接开个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)相关推荐
- loj 6085.「美团 CodeM 资格赛」优惠券
题目: 一个有门禁的大楼,初始时里面没有人. 现在有一些人在进出大楼,每个人都有一个唯一的编号.现在有他们进出大楼的记录,但是有些被污染了,只能知道这里有一条记录,具体并不能知道. 一个人只有进大楼, ...
- loj 6083.「美团 CodeM 资格赛」数码
题目: 给定两个整数\(l\)和\(r\),对于任意\(x\),满足\(l\leq x\leq r\),把\(x\)所有约数写下来. 对于每个写下来的数,只保留最高位的那个数码.求\([1,9]\)中 ...
- LiberOJ #6210. 「美团 CodeM 决赛」tree 树形DP
题目链接:点这里 题解: 需要证明,所求的路径一定是全部权值都为1或者,路径上权值至多有一个为2其余为1且权值2在路径中央. 然后树形DP 设定dp[i][0/1] 以1为根的情况下,以i 节点下子树 ...
- 【loj6191】「美团 CodeM 复赛」配对游戏 概率期望dp
题目描述 n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 输入 一行一个正整数 n . 输出 一行一个实数,表示期望剩下的人数, ...
- 「美团 CodeM 复赛」城市网络
题目链接 题意分析 首先 \([u,v]\)在树上是一条深度递增的链 那么我们可以使用倍增找 \(x\)的祖先当中深度最大的值大于\(x\)的点 然后维护一个\(pre\) 重新建树 这样从\(x\) ...
- #6164. 「美团 CodeM 初赛 Round A」数列互质-莫队
#6164. 「美团 CodeM 初赛 Round A」数列互质 思路 : 对这个题来言,莫队可以 n*根号n 离线处理出各个数出现个的次数 ,同时可以得到每个次数出现的次数 , 但是还要处理有多少 ...
- LibreOJ #6177. 「美团 CodeM 初赛 Round B」送外卖2【状压DP】
「美团 CodeM 初赛 Round B」送外卖2 内存限制:32 MiB 时间限制:200 ms 题目描述 一 张 n 个 点 m 条 有 向 边 的 图 上 , 有 q 个 配 送 需 求 , 需 ...
- 2018美团codeM资格赛——python代码
2018美团codeM资格赛--python代码 第一题:下单 题目描述 美团在吃喝玩乐等很多方面都给大家提供了便利.最近又增加了一项新业务:小象生鲜.这是新零售超市,你既可以在线下超市门店选购生鲜食 ...
- Loj #2324. 「清华集训 2017」小 Y 和二叉树
Loj #2324. 「清华集训 2017」小 Y 和二叉树 小Y是一个心灵手巧的OIer,她有许多二叉树模型. 小Y的二叉树模型中,每个结点都具有一个编号,小Y把她最喜欢的一个二叉树模型挂在了墙上, ...
最新文章
- 基于python的scrapy爬虫抓取京东商品信息
- 百度发布机器人助理度秘 “三大基石”炼成
- retrofit content-length为0_LiveData+Retrofit 网络请求实战
- android 调整cpu频率,[IMX6DL][Android4.4] CPU频率调节模式以及降频方法
- HTML,CSS,JaveScript
- java改错题技巧,看这篇文章准没错!
- linux验证cuda安装成功_Linux环境CUDA 4.0入门:验证安装
- Java中Web程序修改配置文件不重启服务器的方法
- txt形式进行传输WebShell图文演示!
- Linux学习(第十七周)
- 【经验分享】F e n c e s 桌面布局软件(Win All)----中文免费版+教程
- 随机生成手机号的java代码
- 专业导师告诉你,有哪些51单片机教程值得大力推荐
- ES9023音频解码芯片原理及应用简介
- RedisTemplate that could not be found如何解决?
- 开一家像嘀嘀那样的公司,需要办理哪些手续和多少预算?
- 如何关闭iOS系统自动更新提示?
- OkHttp调用第三方接口
- 【ASP】链接Access2007与Access2003的不同写法
- PLC控制柜从上到下布局是强电到弱电还是反过来?