news 2026/4/10 17:46:36

洛谷 P5788 【模板】单调栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P5788 【模板】单调栈

题目背景

模板题,无背景。

2019.12.12 更新数据,放宽时限,现在不再卡常了。

题目描述

给出项数为 n 的整数数列 a1…n​。

定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai​ 的元素的下标,即 f(i)=mini<j≤n,aj​>ai​​{j}。若不存在,则 f(i)=0。

试求出 f(1…n)。

输入格式

第一行一个正整数 n。

第二行 n 个正整数 a1…n​。

输出格式

一行 n 个整数表示 f(1),f(2),…,f(n) 的值。

输入输出样例

输入 #1复制

5 1 4 2 3 5

输出 #1复制

2 5 4 5 0

说明/提示

【数据规模与约定】

对于 30% 的数据,n≤100;

对于 60% 的数据,n≤5×103 ;

对于 100% 的数据,1≤n≤3×106,1≤ai​≤109。

#include<bits/stdc++.h> using namespace std; const int N=3e6+10; int n; int a[N]; int ret[N]; void test() { stack<int> st; for(int i=n;i>=1;i--) { while(st.size()&&a[st.top()]<=a[i]) st.pop(); if(st.size()) ret[i]=st.top(); st.push(i); } for(int i=1;i<=n;i++) { cout<<ret[i]<<" "; } } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } test(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 3:10:53

中专学历在电商行业的职业发展路径

电商行业对学历要求相对灵活&#xff0c;更注重实际能力和专业技能。中专学历者可通过考取相关证书提升竞争力&#xff0c;以下是8个关键证书及其作用&#xff1a;证书名称适用岗位优势考试难度CDA数据分析师电商数据分析数据分析能力认证中等电子商务师运营/管理国家职业资格中…

作者头像 李华
网站建设 2026/4/7 21:36:38

年底忙到飞起?用AI每天偷回1小时,老板的命也是命

应酬、复盘、规划、团建、催款…… 年底这五件套&#xff0c;专治各种不服。你是不是也这样&#xff1f;早上9点陪客户喝早茶&#xff0c;中午12点改年终PPT&#xff0c;下午3点开战略会&#xff0c;晚上8点还在回微信&#xff1a;“王总&#xff0c;发票明天一定开&#xff01…

作者头像 李华