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. Heroku登录问题

    second_app 这一步还没有完成,登录接口维护.

  2. python中sort命令介绍以及list结构中统计各元素出现的个数的方法

  3. background-attachment: fixed 在iphone设备失效的解决

    下面为引用,源代码有点问题,自己修改了一下.先做记录,回头再细修. 引用部分,但代码有问题 http://www.ptbird.cn/css-background-attachment--fiexed ...

  4. atom使用技巧

    文本 批量处理 正则 空格换成换行:Atom替换换行符直接[Ctrl]+[F],然后选择正则,输入\n

  5. sql yog出现2013错误

    首先用telnet检查一下你的防火墙端口,如果连接失败,配置防火墙. 配置防火墙,开启3306端口 find -name iptables vim /etc/sysconfig/iptables -A ...

  6. 【noip模拟赛5】细菌 状压dp

    [noip模拟赛5]细菌   描述 近期,农场出现了D(1<=D<=15)种细菌.John要从他的 N(1<=N<=1,000)头奶牛中尽可能多地选些产奶.但是如果选中的奶牛携 ...

  7. VS2015自定义工具栏,往工具栏上添加按钮

    工具--自定义--命令

  8. [leetcode]92. Reverse Linked List II反转链表2

    Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...

  9. 使用jconsole分析内存情况-JVM

    JVM调优分析演练: Jconsole中对内存为如下结构: 原始代码: public static void main(String[] args) { BigInteger [] pArr=new ...

  10. new delate he typedef的含义

    new:        new 类型[初值] 如: new int ;                                     //开辟一个存放整数的存储空间,返回一个指向该存储空间的 ...