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

银河麒麟服务器(ky10 server)arm、x86安装qemu虚拟机

接下来就可以新建服务器了。

zengliguang的专栏 8709

华为云Stack的学习(三)

LVS是四层负载均衡,建立在OSI模型的传输层之上,所以效率非常高。NAT模式的转发主要通过修改IP地址(位于OSI模型的第三层网络层)实现转发。DR模式的转发主要通过修改MAC地址(位于OSI模型的第二层数据链路层)实现转发。云服务框架中使用的DR模式。域名解析服务器分为管理侧(OM)和租户侧(Tenant)**DNS-OM:**作为云服务的本地DNS服务器,为云服务提供域名解析服务,并代理公网域名的解析。

Ciyaso的博客 8562

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

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

caijixiangzi的博客 615

【Qt】Qt6系列教程汇总_qt6教程

简介:QT相关电子书、建议和相关参考网址。

2401_87556657的博客 1183

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

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

ning的博客 1327

2、TCGA数据处理(差异分析前处理)

注意:1、是R语言中用于读取文本文件并创建数据框的函数。它可以从文本文件中读取数据并将其存储为数据框的形式,每一列代表一个变量,每一行代表一个观察值。2、括号要成对,不能少了;3、file = 'TCGA-LIHC.htseq_counts.tsv'引号可以是单或双引号,建议单;4、逗号主要中英文,都是用英文模式才没错;5、.tsv文件类型必须要有,不能删除,否则读不进来;6、上面代码将TCGA-LIHC.htseq_counts.tsv文件读入并赋值给count1。

PLW_12的博客 2666

Android 人像分割实战:OpenCV+YOLOv8+NCNN 三库联动(附 GPU 加速 / 内存优化全方案)

本文详细介绍了在Android项目中集成OpenCV+YOLOv8+NCNN实现实时人像分割的技术方案。主要内容包括:项目环境搭建(配置NDK、添加Native模块)、核心库文件集成(OpenCV、NCNN、YOLOv8模型)、JNI接口设计与实现(Kotlin层调用C++算法)。通过Camera API获取图像数据,使用YOLOv8进行人体检测,结合NCNN高性能推理框架实现人像分割处理,最终将原始画面与分割结果(背景透明)同时显示在Android界面上。该项目采用多技术栈协同工作,OpenCV负责图像处

FJN110的博客 233

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

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

HEX9CF的技术博客 1076

渗透测试面试题

渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

千寻的博客 12万+

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

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

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

Qt C++ HTTP 调用通义千问大模型 X 学术论文润色工具(SCI 格式适配)

请求地址:`https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation`;| Windows | 打包时携带 `Qt6Network.dll`/`libcrypto-1_1-x64.dll` 等依赖;| Linux | 安装 `libssl-dev` 和 `libcurl4-openssl-dev`;| API 调用失败 | 检查 API-KEY 是否有效;

寒寒豆豆软件公司的博客 104

中国各城市土地利用类型(城市功能)数据集(shp)

中国各城市土地利用类型(城市功能)数据集时间:2018年全国范围的城市用地类型数据(居住/商业/交通用地等共计11类)分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型含城市编码、一级分类5个、二级分类11个1、上海市。

你好,我是小张同学! 1336

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

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

qq_74248245的博客 341

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

2302_79431881的博客 743

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、付费专栏及课程。

余额充值