第二周 题目练习2(stack综合 单调栈)牛客 14326. 14666. 15029
栈版子Rails栈模拟模板题核心思路是模拟真实的入栈、出栈过程#includebits/stdc.h #define ll long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define ull unsigned long long #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; using namespace std; ll n; int main() { IOS while(cinnn!0) { ll x; while(cinx) { if(x0)break; vectorllgoal; goal.push_back(x); for(ll i1;in;i) { cinx; goal.push_back(x); } stackllst; ll num1; bool oktrue; for(ll a:goal) { while(st.empty()||st.top()!a) { st.push(num); num; if(numn1) { okfalse; break; } } if(!ok)break; st.pop(); } if(ok)coutYesendl; else coutNoendl; } coutendl; } // coutfixedsetprecision(x) ; return 0; }最优屏障给定一排山峰两座山可以相互看见当且仅当它们中间没有更高或等高的山。在某两座山之间放置屏障会切断所有跨越该位置的可视山峰对。要求找到切断可视对最多的屏障位置若多个位置答案相同输出编号最小的位置。解题过程1.核心思想贡献法 单调栈 差分直接暴力枚举所有山峰对会超时。因此枚举每一对可见山峰给对应的屏障区间统计贡献。对于任意一对可见山峰 (l, r)屏障放在 [l, r-1] 任意位置都能切断这一对。等价于对区间 [l, r-1]整体 1。2.差分优化区间修改一维差分可以 O(1) 完成区间加区间 [L,R] 1d[L], d[R1]–本题代入LlRr-1得到固定写法d[l], d[r]–3.单调栈找所有可见山峰对维护一个单调递减栈存储山峰下标遍历当前山峰 r弹出所有左侧更矮的山 l两者可见统计贡献栈不为空时剩余栈顶高山也与 r 可见统计贡献但不弹出后续继续使用当前山峰入栈维持单调性4.前缀和求答案对差分数组做前缀和得到每个屏障位置切断的总对数遍历维护最大值、最小下标即可注题目屏障下标从第 1、2 座山之间开始代码统计下标偏移所以最终输出需要 ansx1代码实现#includebits/stdc.h #define ll long long #define endl \n // #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define ull unsigned long long #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; using namespace std; ll t; ll n; ll ansx,now,maxless; int main() { scanf(%lld,t); for(ll cas1;cast;cas) { scanf(%lld,n); vectorllh(n2); vectorlld(n2,0); for(ll i1;in;i) { scanf(%lld,h[i]); } stackllst; for(ll r1;rn;r) { while(!st.empty()h[st.top()]h[r]) { ll lst.top(); st.pop(); //可视对(l,r) ,等价于[l,r-1]1; d[l]1; d[r]-1; } if(!st.empty()) { ll lst.top(); d[l]; d[r]--; } st.push(r); } now0; maxless-1; ansx1; for(ll i1;in;i) { nowd[i]; if(nowmaxless||(nowmaxlessiansx)) { maxlessnow; ansxi; } } printf(Case #%lld: %lld %lld\n,cas,ansx1,maxless); } // coutfixedsetprecision(x) ; return 0; }吐泡泡解题过程栈实时 化简遍历字符串逐个字符入栈每入栈一个字符循环检查栈顶两个元素满足合并 / 抵消规则则立即处理直至无法匹配。结果顺序处理栈结构先进后出取出栈内字符会得到逆序字符串最后反转字符串得到正确顺序输出代码实现#includebits/stdc.h #define ll long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define ull unsigned long long #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; using namespace std; ll t; string s; string ans; int main() { IOS cint; while(t--) { cins; ll ls.size(); stackcharst; for(char c:s) { st.push(c); while(st.size()2) { char top1st.top(); st.pop(); char top2st.top(); if(top1otop2o) { st.pop(); st.push(O); } else if(top1Otop2O) { st.pop(); } else { st.push(top1); break; } } } ans; while(!st.empty()) { ansst.top(); st.pop(); } reverse(ans.begin(),ans.end()); coutansendl; } // coutfixedsetprecision(x) ; return 0; }

相关新闻

battleforthenet-widget常见问题解答:让你的网络中立活动更有效

battleforthenet-widget常见问题解答:让你的网络中立活动更有效

battleforthenet-widget常见问题解答:让你的网络中立活动更有效 【免费下载链接】battleforthenet-widget Embed this widget on your site and help save net neutrality! 项目地址: https://gitcode.com/gh_mirrors/ba/battleforthenet-widget battleforth…

2026/10/12 22:38:26 阅读更多 →
Cindy插件开发入门:打造个性化AI助手功能的终极教程

Cindy插件开发入门:打造个性化AI助手功能的终极教程

Cindy插件开发入门:打造个性化AI助手功能的终极教程 【免费下载链接】cindy Consider it done. The open-source AI agent that works out of the box 想到,就能做到。开源、开箱即用的 AI Agent。 项目地址: https://gitcode.com/gh_mirrors/cind/ci…

2026/10/10 17:27:11 阅读更多 →
3分钟快速上手TMSpeech:Windows本地实时语音转文字终极指南

3分钟快速上手TMSpeech:Windows本地实时语音转文字终极指南

3分钟快速上手TMSpeech:Windows本地实时语音转文字终极指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 你是否经常需要在会议中快速记录要点,却总是手忙脚乱?在线学习时想要专…

2026/9/30 8:35:16 阅读更多 →

最新新闻

道路护栏实例分割数据集 | 护栏分割 实例分割 道路设施 道路巡检 9161期

道路护栏实例分割数据集 | 护栏分割 实例分割 道路设施 道路巡检 9161期

道路护栏实例分割数据集 | 护栏分割 实例分割 道路设施 道路巡检 9161期 数据集概述 本数据集专注于道路护栏的像素级实例分割,服务于道路巡检、护栏损坏评估及交通设施管理。数据涵盖道路护栏目标,适配无人机巡检、道路养护及自动化设施识别等应用。数…

2026/10/13 16:39:12 阅读更多 →
Java String类核心机制与性能陷阱:不可变性、常量池与内存优化

Java String类核心机制与性能陷阱:不可变性、常量池与内存优化

做Java开发这些年,String类应该是我写得最多的一个类,也是让我反复踩坑最多的地方。你越研究它,越会发现它远不止“存一串字符”这么简单。为什么面试官总爱问 String 为什么设计成不可变、new String("abc")到底创建了几个对象、e…

2026/10/13 16:39:12 阅读更多 →
GPIB卡控制源码:多语言仪器通信编程实战指南

GPIB卡控制源码:多语言仪器通信编程实战指南

简介:GPIB通用接口总线控制源码合集,覆盖VB、C#、VB.NET、LabVIEW、BCB、Delphi、VC等七种主流开发环境,面向仪器自动化测试与数据采集开发者,帮助解决不同语言环境下GPIB卡通信建链、设备寻址、命令收发与状态控制等常见问题。压…

2026/10/13 16:39:12 阅读更多 →
litellm 统一大模型接口:从多模型适配到网关部署实战

litellm 统一大模型接口:从多模型适配到网关部署实战

如果你写过两套以上大模型接口的对接代码,大概率体会过那种被各家 API 格式来回折腾的烦躁:认证方式不一样、请求结构不一样、返回字段不一样、流式协议不一样,连限流报错都各说各话。我上个月维护模拟项目X 时,光适配这些差异就补…

2026/10/13 16:39:12 阅读更多 →
Android原生串口通信:JNI直连/dev/ttyUSB实现工业级稳定通信

Android原生串口通信:JNI直连/dev/ttyUSB实现工业级稳定通信

简介:本资源是一个已实测可用的Android串口通信实战项目,面向Android中高级开发者及嵌入式IoT应用开发者,解决在Android平台调用底层串口设备(如传感器、工控模块)时缺乏原生API支持的核心问题。项目基于Android Studi…

2026/10/13 16:39:12 阅读更多 →
C语言停车场管理系统完整代码:从数据结构到计费持久化

C语言停车场管理系统完整代码:从数据结构到计费持久化

简介:这份资源是面向C语言初学者与课程设计学习者的停车场管理系统完整代码包,围绕车辆进出登记、车位分配、计时计费与数据记录等核心业务,帮助读者理解如何用C语言实现一套可运行的管理程序。压缩包共22个文件,约1.9MB&#xff…

2026/10/13 16:38:11 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →