首页 > 其他分享 >P4387 洛谷做题笔记 2023313

P4387 洛谷做题笔记 2023313

时间:2023-03-13 21:35:50浏览次数:47  
标签:洛谷 int 笔记 做题 2023313 P4387

P4387 洛谷做题笔记 2023/3/13

这道题的关键点在于,在入栈的同时可以完成出栈操作,这就需要在每一次压入时检测是否出栈。

这道题还有一个易错点,就是在每一次询问之后,还必须完成栈的清空,这里有两种做法,一种是逐个pop,另一种是建一个空的栈,把两个栈的内容交换。我采用第二种:

stack<int> T;
T.swap(S);

以下是完整代码:

#include<bits/stdc++.h>
using namespace std;
int q,n,pop[100005],push[100005],x,k,m;
stack<int> S;

int main(){
    scanf("%d", &q);
    while(q>0){
        scanf("%d", &n);
        for(int i=0;i<n;i++){
        	scanf("%d", push+i);
		}
        for(int i=0;i<n;i++)
        	scanf("%d", &pop[i]);	
        while(k<n){
        	S.push(push[k]);
        	k++;
        	while(!S.empty()&&S.top()==pop[m]){
        		S.pop();
        		m++;
			}
		}
        if(S.empty()) printf("Yes\n");
        else printf("No\n");
        k=0,m=0,q--;
        stack<int> T;
        T.swap(S);
    }
    return 0;
}

标签:洛谷,int,笔记,做题,2023313,P4387
From: https://www.cnblogs.com/SunnyHanhome/p/17212929.html

相关文章

  • 【洛谷】P4457 [BJOI2018]治疗之雨(期望+高斯消元)
    原题链接题意初始时玩家有\(p\)滴血,满血\(n\)滴,每个回合会进行如下操作:若当前还没有满血,则以\(\frac{1}{m+1}\)的概率增加一滴血;\(k\)次判定,每次以\(\frac......
  • 【洛谷】P4206 [NOI2005] 聪聪与可可(概率+记忆化搜索)
    原题链接题意给定一张\(n\)个节点\(m\)条边的无向图,初始时,A_zjzj在\(S\),fxt在\(T\),现在A_zjzj要前去抓住fxt。A_zjzj只会往使得两人的最短距离减\(1\)......
  • 《再水一贴-来做题》 回复
    《再水一贴-来做题》     https://tieba.baidu.com/p/8304958148       回复 4楼 @黎合胜 ,   推导相对论 动能公式 我还真做过, ......
  • 洛谷 P1015 回文数
    P1015回文数https://www.luogu.com.cn/problem/P1015原题很明显的高精度,(1999年竟然就考主要有:高精度加法(含进位)、高精度判断回文数以及可以把字符串转成数字数组......
  • 洛谷-2822
    洛谷-2652key思路有个modk的想法很好,然后就是对于一遍一遍的询问进行前缀和优化,但有个问题就是算出来的s矩阵最开始是个下三角矩阵,但是根据前缀和公式来看,s[i][j]上方......
  • 【洛谷】P3365 改造二叉树(LIS)
    原题链接题意给定一颗二叉树,每次操作可以修改一个点的权值为任意整数,求将原树变为二叉搜索树的最小操作次数。注意:本题中的二叉搜索树定义为:每个左边儿子的权值都严格小......
  • CF 做题记录
    CF1784C弱化版就是将序列进行排序,设\(a\)的排名为\(k\),如果\(a<k\),就将\(a\)删除(后面的数排名也相应减一),否则将\(a-k\)加入到答案中。现在我们考虑每次加一个数,......
  • 周做题记录
    妈的,做的题怎么这么少2.26[JOI2020Final]火事-洛谷想法:前三档部分分小孩子不懂事出着玩的。第四档部分分所有点只会经历一次\(1\)到\(2\)的过程,询问排序后......
  • 洛谷P1213 [USACO1.4][IOI1994]时钟 The Clocks
    这是一个暴力枚举题有两种解决方法,第一种用九重for循环(有点麻烦,尽量别用),第二种简化版(虽然行数少了,但难理解),先来看看 题目!!!题目描述考虑将如此安排在一个 3*3 行......
  • 进制转换 洛谷P1017
    题目传送门题目描述我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 1010 为底数的幂之和的形式。例如 123123 可表......