P4387 【深基15.习9】验证栈序列 洛谷

【题解】P4387 【深基15.习9】验证栈序列 直接用栈来模拟! 思路 既然我们是要验证栈的序列,那么我们直接来模拟实现那个要进行输出的序列情况,如果无法模拟出来,那么就不是栈的序列! 1 2 3 4 5 5 4 3 2 1 由这个样例我们可以看出,是入栈到到了最后的 5 才依次出栈形成的栈序列。 1 2 3 4 5 2 1 5 4 3 由这个例子可以看出,是先入栈到了 2 以后进行了出栈两次,把 2 和 1 出栈了以后再进行3 4 5的入栈而后再进行依次出栈 5 4 3。 对比上面两种情况我们可以发现,只要第一行的入栈序列值,等于第二行队头的出栈序列值 阅读详情

这是道出栈序列问题,解法是模拟,按照入栈顺序,将元素push到栈顶,每次push都访问栈顶,判断与出栈序列中当前元素是否相同,如果相同则出栈,否则push下一个元素。最后判断栈是否为空,空则“Yes”,不空则“No”。

完整AC代码如下(此代码实现使用STL栈)。

#include<bits/stdc++.h>
#include<stack>//加上了一个STL栈的头文件,如果有万能头,可以不加 
using namespace std;
stack<int> s;
const int N=1e5+10;
int a[N],b[N];
int main()
{
	int q;
	scanf("%d",&q);
	for(int i=1;i<=q;i++)
	{
		int n;
		int k=1;//记录栈序列位置 
		scanf("\n%d",&n);
		for(int j=1;j<=n;j++)
		{
			scanf(" %d",&a[j]);
		}
		scanf("\n");
		for(int j=1;j<=n;j++)
		{
			scanf(" %d",&b[j]);			
		} 
		for(int j=1;j<=n;j++)
		{
			s.push(a[j]); 
			while(!s.empty()&&(s.top())==b[k])
			{
				//判断栈空
				//当栈顶与当前元素相同时出栈 
				s.pop();
				k++;
			}
		}
		if(s.empty()) printf("Yes\n");
		else printf("No\n");
		while(!s.empty()) s.pop();//!!!多组数据注意清空!!! 
	}

 	return 0;
}

【题解-洛谷】P4387 【深基15.习9】验证栈序列 已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。给出两个序列 pushed 和 poped 两个序列,其取值从 1 到。为了防止骗分,每个测试点有多组数据,不超过。我觉得我没错,但是全WA了,评测有问题吧?请注意,给定的序列一定是一个。个整数表示入栈序列;个整数表示出栈序列;对于每个询问输出答案。(即没有重复数字)。 阅读详情

相关推荐

栈讲解 洛谷P4387 【深基15.习9】验证栈序列

验证栈序列 洛谷P4387 Hello~ 今天我们来看一下栈! 首先 栈是啥? 简单来说 可以理解成一个桶 先进后出(LIFO) 像这样 (图片源自网络) 一些基本的function在这里: empty Test whether container is empty (public member function ) size Return size (public member function ) top Access next element (public member function ) pu

ThisIsHelen的博客 683

【深基15.习9】验证栈序列 洛谷P4387

题目描述 给出两个序列 pushed 和 poped 两个序列,其取值从 1 到n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据。 输入格式 第一行一个整数q,询问次数。 接下来q 个询问,对于每个询问: 第一行一个整数n表示序列长度; 第二行n个整数表示入栈序列; ...

算法小猪的博客 1594

《P4387 【深基15.习9】验证栈序列》

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。为了防止骗分,每个测试点有多组数据,不超过 5 组。第一行一个整数 n 表示序列长度;第二行 n 个整数表示入栈序列;第三行 n 个整数表示出栈序列;第一行一个整数 q,询问次数。对于每个询问输出答案。

Jasmine_llq的博客 799

P4387 【深基15.习9】验证栈序列

【代码】P4387 【深基15.习9】验证栈序列。

heliotrope_jin的博客 176

面试复习题--RN面试

考察点:热更新方案的深度理解,选型能力,实战落地经验。答题思路主流热更新方案对比。

hqiangtai的博客 723

论文阅读4——一种宽频带圆极化微带天线的设计

论文阅读——一种宽频带圆极化微带天线的设计(现在才觉得开始弄懂了一点,懂了一点之后又更糊涂了……)

weixin_64612422的博客 2316

哈希表(一般哈希表,字符串哈希和洛谷题目P1160 队列安排,P4387 【深基15.习9】验证栈序列)

南昌理工acm暑假集训 本周学习了数据结构中的哈希表并练习了一些上周学习的数据结构的题目 下周多校联赛开始,在做比赛补题的同时学习搜索和图论 目录一般哈希表字符串哈希 一般哈希表 哈希(hash)表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方 哈希表又称为散列表, -般由Hash函数(散列函数)与链表结构共同实现。与离散化思想类似,当我们要对若干复杂信息进行统计时,可以用Hash函数把这些复杂信息映射到一一个容易维护的值域内。 哈希冲突 正如定义所说哈

caijixiangzi的博客 615

微信小程序如何集成EasyRTC实现零插件音视频通话?5步搞定完整接入流程

本文详细介绍了如何在微信小程序中集成EasyRTC SDK,实现零插件的实时音视频通话功能。通过5个关键步骤,包括环境配置、SDK初始化、核心功能实现、性能优化和问题排查,帮助开发者快速完成WebRTC技术在小程序中的落地应用,解决微信小程序原生不支持实时音视频通信的技术难题。

weixin_28340315的博客 143

【P4387 【深基15.习9】验证栈序列 java版本

本题是一个典型的栈应用问题,通过模拟栈的操作,我们可以验证两个序列是否匹配。希望这篇博客能帮助你更好地理解栈的工作原理以及如何在实际问题中应用栈。如果你有任何问题或建议,请在下方留言,我会尽快回复。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

ning的博客 1327

Polymarket链上预测市场自动化交易代理开发实战指南

自动化交易代理是量化交易的核心工具,它通过预设的算法规则,自动执行市场分析、决策与下单操作,旨在提升交易效率与纪律性。其技术原理通常涉及实时数据获取、策略引擎计算、交易执行与风险管理等模块的协同工作。在区块链与DeFi领域,这类代理的价值尤为凸显,能够高效处理链上合约交互,捕捉去中心化市场的套利机会。具体到应用场景,链上预测市场如Polymarket,为自动化策略提供了丰富的博弈标的。本文以Polymarket交易代理项目为例,深入剖析其基于Node.js与ethers.js的技术栈实现,详解从环境配置、策

weixin_42533910的博客 581

Element-cascader级联选择器增加全选功能

element el-cascader

weixin_44384273的博客 3728

【洛谷 P4387】【深基15.习9】验证栈序列 题解(模拟+栈+队列)

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到nn≤100000。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据。

HEX9CF的技术博客 1076

学Simulink——基于Simulink的Buck-Boost变换器双闭环PI+抗饱和设计建模示例

本文详细介绍了基于Simulink的非反相Buck-Boost变换器双闭环控制设计方法。针对Buck-Boost变换器特有的右半平面零点(RHPZ)和控制挑战,提出了电压-电流双闭环PI控制架构,并集成抗积分饱和机制。通过Simulink建模,实现了主电路、电流内环PI、电压外环PI、PWM及占空比限幅等模块的搭建,验证了在输入电压跌落(20V→10V)和负载突变(2A→4A)等场景下的稳定性能。仿真结果表明,输出电压波动小于0.35V,恢复时间快于1ms,电感电流有效限幅。文章还讨论了工程实践要点和扩展方

xiaoheshang_123的博客 318

打卡信奥刷题(1426)用C++实现信奥 P4387 【深基15.习9】验证栈序列

摘要:题目要求验证给定的入栈序列能否产生对应的出栈序列。对于每组测试数据,使用栈模拟入栈和出栈过程:将入栈序列元素依次压入栈,每当栈顶元素匹配出栈序列时弹出,最终若栈为空则输出"Yes",否则输出"No"。代码示例展示了通过栈模拟过程判断合法性的方法,时间复杂度为O(n)。该问题考察栈的基本操作和序列匹配逻辑,是经典的栈应用场景。

Loge谈信奥--一个专注于信奥人的博客 2650

[QMT量化交易小白入门]-二、如何用miniQMT获取沪深A股的板块列表、历史行情数据和实时行情数据

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 5651

人像抠图 + OpenGL ES 还能这样玩?没想到吧(附带源码)

OpenGL ES 利用抠图算法实现人像留色。

字节流动 3万+

P4387 【深基15.习9】验证栈序列 (stack

P4387 【深基15.习9】验证栈序列 (stack实现 题目传送门 题目描述 给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据。 输入格式 第一行一个整数 q,询问次数。 接下来 q 个询问,对于每个询问: 第一行一个整数 n 表示序列长度; 第二行 n 个整数表示入栈序列; 第二行 n 个整数表示出栈序列; 输出格式 Yes

yxrzibinanhai的博客 505

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

P4387 【深基15.习9】验证栈序列 - 栈/双指针

用两个指针分别指向两个序列,如果出栈序列指针指向的元素已经入栈了但是不在栈顶,说明出现问题了。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。给出两个序列 pushed 和 poped 两个序列,其取值从 1 到。为了防止骗分,每个测试点有多组数据,不超过。请注意,给定的序列一定是一个。个整数表示入栈序列;个整数表示出栈序列;对于每个询问输出答案。(即没有重复数字)。

qq_74248245的博客 341

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

洛谷P4387 【深基15.习9】验证栈序列(c嘎嘎)

的特点来模拟这道题,先读入入栈和出栈序列,然后将遍历入栈序列,边遍历边压入栈,然后与出栈序列比较,匹配成功出栈,直到遍历完入栈序列,最后如果栈不为空则为NO,反之。来解决的(题目都已经明示了),我们得利用好栈的。解题思路:首先这道题很明显是要用。

2302_79431881的博客 743

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

P4387 验证栈序列【stack】

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到nn≤100000。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据,不超过5组。

海岛Blog 1049

P4387 【深基15.习9】验证栈序列 【栈】

题目描述 给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)n(n\le100000)n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据。 输入格式 第一行一个整数 qqq,询问次数。 接下来 qqq 个询问,对于每个询问: 第一行一个整数 nnn 表示序列长度; 第二行 nnn 个整数表示入栈序列; 第二行 nnn 个整数表示出栈序列; 输出格式 对于每个询问

ln2037的博客 563

洛谷 —— P4387验证栈序列

一、题目 P4387 【深基15.习9】验证栈序列 (1)题目描述 给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n\le100000)n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据。 (2)输入格式 第一行一个整数 q,询问次数。 接下来 q 个询问,对于...

佚失的诗篇 1836

洛谷每日一题(P4387 验证栈序列)

如何判断一个入栈队列和出栈队列匹配呢?试一试用栈模拟吧!

weixin_70448721的博客 827
上一篇: P1208 [USACO1.3] 混合牛奶 Mixing Milk
HT_1007
博客等级 码龄4年 3粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值