[第1章 1.3t1] 单调栈-模板
47 字
1 分钟
[第1章 1.3t1] 单调栈-模板
//单调栈#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long ll;int main(){ ll n; cin>>n; vector<ll> ans(n+2),a(n+2); deque<ll> dq; a[n+1]=1e18; dq.push_back(n+1); for(ll i=1;i<=n;i++)cin>>a[i]; for(ll i=n;i>=1;i--){ while(a[dq.back()]<=a[i])dq.pop_back(); if(dq.back()==n+1)ans[i]=0; else ans[i]=dq.back(); dq.push_back(i); } for(ll i=1;i<=n;i++){ if(i!=1)cout<<" "; cout<<ans[i]; } cout<<endl; return 0;}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
[第2章 2.2e1] Palindromes
算法竞赛2026-06-27
2
[第2章 2.2t1] Subsequence
算法竞赛2026-06-27
3
[第1章 1.5e1] 堆-模板
算法竞赛2026-06-26
4
[第1章 1.2e2] 单调队列-滑动窗口
算法竞赛2026-06-26
5
[第1章 1.2t2] 扫描
算法竞赛2026-06-26
随机文章随机推荐





