当前位置: 首页 > news >正文

P1165 日志分析

点击查看代码
#include<bits/stdc++.h>using namespace std;const int N=200010;
//mxstk和stk始终保持相同的大小,记录的是从栈底到该位置的最大值,弹出的话不会将所有的最大值弹出,如果最后一个加入的不是最大值的话那么前面的数依旧是最大值
int stk[N],mxstk[N];
int n,tt;int main()
{cin>>n;int op,x;while(n--){cin>>op;if(op==0){cin>>x;stk[++tt]=x;if(tt==0) mxstk[tt]=x;else mxstk[tt]=max(x,mxstk[tt-1]);}else if(op==1){tt--;}else if(op==2){if(tt==0) cout<<0<<endl;else cout<<mxstk[tt]<<endl;}}return 0;
}
核心是辅助栈的构建,辅助栈应当保持和主栈一样的大小并且记录从栈底到tt的最大值如main 2 3 5 2 6max2 3 5 5 6
http://www.jsqmd.com/news/49843/

相关文章:

  • 【Java学习】【Java基础】--第2篇:抽象类和接口
  • TiDB为什么它正成为取代MySQL的新宠?
  • [数据存储/数据库/分布式系统] 一致性哈希算法
  • 我所沉浸的情绪场景
  • [TSDB] OpenGemini 版本特性发展沿革
  • 2025电源模块厂家推荐:从技术实力到售后,这份榜单收好
  • CF1490D-Permutation Transformation
  • 文本文件与基于二进制文件的存储的学生管理系统
  • Linux 中grep命令在文本中匹配单个的字母
  • Docker Compose 安装问题排查全记录(WSL2 Ubuntu 22.04 环境)
  • 一些 DS
  • newDay22
  • B4324 双向链表
  • 系列最便宜!苹果iPhone 17e要来了:60Hz低刷灵动岛屏幕
  • Codeforces Round 1065 (Div. 3)
  • 代码随想录算法训练营第四天:链表part02
  • CF2027A-Rectangle Arrangement
  • 线段树全家桶
  • 用 Node.js 实现英文数字验证码识别
  • 用 Rust 和 Tesseract OCR 实现英文数字验证码识别
  • 在Java中调用第三方接口并返回第三方页面
  • 251124省运会结束啦
  • 用 C# 和 Tesseract 实现英文数字验证码识别
  • 有了TCP为什么还需要HTTP?再用RPC?这次彻底讲明白了
  • 11.24午夜盘思
  • Java调用第三方接口的方法
  • 2025留学代写危机应对指南:5家靠谱机构助你重返校园
  • 2025美国大学停学应对全攻略:5大靠谱机构助你重返学术轨道
  • 2025美国紧急转学机构推荐深度解析:靠谱机构认准这些核心优势,危机中重启留学之路​
  • 第35天(中等题 数据结构)