bzoj3401 [Usaco2009 Mar]Look Up 仰望
2017-10-10 22:46
405 查看
题目
求后面比自己大的第一个数。
单调栈裸题,模拟一下就好了。
冲到第一了,强强强
求后面比自己大的第一个数。
单调栈裸题,模拟一下就好了。
#include<bits/stdc++.h> #define N 100000 using namespace std; int n,A[N+5]; int stk[N+5],top; int ans[N+5]; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++; } inline int read() { int x=0,b=1; char c=nc(); for(;!(c<='9'&&c>='0');c=nc())if(c=='-')b=-1; for(;c<='9'&&c>='0';c=nc())x=x*10+c-'0'; return x*b; } inline void write(int x) { if(x==0)putchar('0'); else { char buf[15]; int len=0; if(x<0)putchar('-'),x=-x; while(x)buf[++len]=x%10+'0',x/=10; for(int i=len;i>=1;i--)putchar(buf[i]); } putchar('\n'); } int main() { freopen("in.txt","r",stdin); n=read(); for(int i=1;i<=n;i++)A[i]=read(); for(int i=n;i>=1;i--) { while(top&&A[stk[top]]<=A[i])top--; ans[i]=stk[top]; stk[++top]=i; } for(int i=1;i<=n;i++)write(ans[i]); return 0; }
冲到第一了,强强强
相关文章推荐
- BZOJ3401: [Usaco2009 Mar]Look Up 仰望
- BZOJ[3401][Usaco2009 Mar]Look Up 仰望 单调栈
- 【BZOJ】3401: [Usaco2009 Mar]Look Up 仰望(单调栈)
- BZOJ 3401: [Usaco2009 Mar]Look Up 仰望(离线+平衡树)
- BZOJ 3401: [Usaco2009 Mar]Look Up 仰望
- [BZOJ3401] [Usaco2009 Mar]Look Up 仰望
- 3401: [Usaco2009 Mar]Look Up 仰望
- [BZOJ3401][Usaco2009 Mar]Look Up 仰望(单调栈)
- bzoj 3401: [Usaco2009 Mar]Look Up 仰望【单调栈】
- BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )
- bzoj 3401: [Usaco2009 Mar]Look Up 仰望
- bzoj3401 [Usaco2009 Mar]Look Up 仰望 单调栈
- bzoj3401[Usaco2009 Mar]Look Up 仰望
- bzoj3401[Usaco2009 Mar]Look Up 仰望
- 【BZOJ3401】[Usaco2009 Mar]Look Up 仰望【单调栈】
- 【BZOJ3401】【单调栈】[Usaco2009 Mar]Look Up 仰望 题解
- [bzoj3401][Usaco2009 Mar]Look Up 仰望
- 3401: [Usaco2009 Mar]Look Up 仰望 (单调栈)
- USACO 2009 Mar Look Up 向右看齐
- 【BZOJ 1585】 [Usaco2009 Mar]Earthquake Damage 2 地震伤害 最小割