https://www.nowcoder.com/acm/contest/201/J

Description:
  给你一行括号,定义了括号合格的形式,然后Q次询问,问你这个区间内括号是否合格

Solution:
  利用栈模拟,栈内记录括号的编号,如果新来的括号可以匹配栈顶元素的括号,那么就弹出,否则入栈,用一个数组L记录每个括号

完成匹配后对应的括号编号(所以括号编号是唯一的)

最后对于询问l,r,这个区间里数的个数必须要是偶数,然后,L[R] == L[l-1]才可以,这个表示该区间前面的能消的消去后所对应的第一个id,等于该区间最右边能消的消去后对应的id,id唯一所以这个区间一定可以消完~,而且不会用到区间外的括号,如果用到区间外的括号就不会等于L[l-1]啦

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1e6 + 1e2;
int A[maxn];
int stk[maxn],stkid;
int l[maxn];
int main()
{
int n,m,q;
while(~scanf("%d%d%d",&n,&m,&q))
{
stkid = 0;
int op;
for(int i = 1;i <= n;++i)
{
scanf("%d",&A[i]);
}
for(int i = 1;i <= n;++i)
{
if(!stkid)
{
stk[++stkid] = i;
}
else
{
op = A[i];
int op2 = A[stk[stkid]];
if(op / 2 == op2 / 2 && op2 + 1 == op)
{
stkid--;
}
else
{
stk[++stkid] = i;
}
}
l[i] = stk[stkid];
}
int L,R;
l[0] = 0;
for(int i = 1;i <= q;++i)
{
scanf("%d%d",&L,&R);
if((R-L) % 2 == 1)
{
if(l[L-1] == l[R])
printf("Yes\n");
else
printf("No\n");
}
else
printf("No\n");
}
}
return 0;
}

10.1牛客J题的更多相关文章

  1. 【牛客 错题集】Linux系统方面错题合集

    前言:牛客Linux322道全部刷完,有些题目较老,甚至考核5系统,现在7都出来了几年了 = = 还有些题目解析的很好部分也摘录了进来.很多涉及嵌入式开发的选择题同样的摘录的作为了解使用 ------ ...

  2. 句子反转——牛客刷题(java)

    题目描述: 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) “hello xiao mi”-> “mi xia ...

  3. 输出单项链表中倒数第k个结点——牛客刷题

    题目描述: 输入一个单向链表,输出该链表中倒数第k个结点 输入.输出描述: 输入说明:1.链表结点个数 2.链表结点的值3.输入k的值 输出说明:第k个结点指针 题目分析: 假设链表长度为n,倒数第k ...

  4. 2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数

    目录 求若干个串的公共子串个数相关变形题 对一个串建后缀自动机,另一个串在上面跑同时计数 广义后缀自动机 后缀数组 其他:POJ 3415 求两个串长度至少为k的公共子串数量 @(牛客多校第四场 I题 ...

  5. 牛客OI月赛12-提高组题解

    牛客OI月赛12-提高组 当天晚上被\(loli\)要求去打了某高端oj部分原创的模拟赛,第二天看了牛客的题觉得非常清真,于是就去写了 不难发现现场写出\(260\text{pts}\)并不需要动脑子 ...

  6. 牛客网论坛最具争议的Java面试成神笔记,牛客网下载量已突破十万

    程序员内部一直流传这一句话: 面试看牛客 刷题看力扣 牛客网作为国内最牛的程序员面试网站,一直在程序员内部颇负盛名,其中用户更是卧虎藏龙! 有国内一线大厂的企业招聘 还有一些低调的互联网大牛实力就和天 ...

  7. 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)

    链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...

  8. 2020牛客寒假算法基础集训营2 J题可以回顾回顾

    2020牛客寒假算法基础集训营2 A.做游戏 这是个签到题. #include <cstdio> #include <cstdlib> #include <cstring ...

  9. 2020牛客寒假算法基础集训营1 J题可以回顾回顾

    2020牛客寒假算法基础集训营1 这套题整体来说还是很简单的. A.honoka和格点三角形 这个题目不是很难,不过要考虑周全,面积是1,那么底边的长度可以是1也可以是2, 注意底边1和2会有重复的, ...

随机推荐

  1. json和jquery中的ajax

    JSON: java script Object otation:js对象标记 声明一个json对象,使用key:value对应,中间用冒号连接,键值对之间用逗号连接,最外面用{}包含 声明方式: 语 ...

  2. ThinkPHP学习笔记

    1.什么是框架? 特征一:是一对代码的集合: 特征二:一个半成品的应用: 特征三:包含了一些优秀的设计模式: 定义:框架是一堆包含了常量.方法和类等代码的集合,它是一个半成品的应用,只包含了一些项目开 ...

  3. zabbix学习笔记----概念----2019.03.25

    1.zabbix支持的通讯方式 1)agent:专用的代理程序,首推: 2)SNMP:  3)SSH/Telnet:  4)IPMI,通过标准的IPMI硬件接口,监控被监控对象的硬件特性. 2)zab ...

  4. python-django(框架结构)

    项目架构: 最外层myshop目录:项目的容器,没有实质性的作用 .idea:项目的配置信息.这个文件夹是自动生成,版本控制信息等,包括历史记录.无用 manage.py:(管理项目)一个实用的命令行 ...

  5. html(),text(),var()区别与用法

    text() 设置或返回所选元素的文本内容 html() 设置或返回所选元素的内容(包括HTML标记) val() 设置或返回表单字段的值 用html()效果把html标签也获取出来了: 用val() ...

  6. 'BAPI_MESSAGE_GETDETAIL' 用法

    其中message class是在se91里创建的 call function 'BAPI_MESSAGE_GETDETAIL' exporting id         = msg_class “m ...

  7. 【转】重写Equals为什么要同时重写GetHashCode

    .NET程序员都知道,如果我们重写一个类的Equals方法而没有重写GetHashCode,则VS会提示警告 :“***”重写 Object.Equals(object o)但不重写 Object.G ...

  8. 把Excel作为数据库,读到DataTable中,Excel科学计数法数字转字符串

    需要引用:using System.Data.OleDb; /// <summary> /// 获取Excel数据,包含所有sheet /// </summary> /// & ...

  9. 关于webservlet 请求异步处理,链接未关闭出现的bug

    webservlet  +redis 的消息发布订阅 ,挺好的 当请求到来,向redis server申请一个频道 ,然后等着另一端架设是B 处理完毕获得到处理信息调用redis ,使用redis 往 ...

  10. 生信分析常用脚本(二)--SOAPdenovo

    1.SOAPDenovo配置文件示例 软件下载安装和使用:http://soap.genomics.org.cn/soapdenovo.html asm.cfg #maximal read lengt ...