zoukankan      html  css  js  c++  java
  • 洛谷P2947 [USACO09MAR]向右看齐Look Up

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<stack>
     4 #include<cctype>
     5 using namespace std;
     6 struct cow{
     7     int id;
     8     int data;
     9     cow(int id=0,int data=0):id(id),data(data){
    10     }
    11 }ans[100005]; 
    12 stack<cow> q;
    13 int n,tmp,cnt;
    14 inline bool cmp(const cow &a,const cow &b)
    15 {
    16     return a.id<b.id;
    17 }
    18 int main()
    19 {
    20     scanf("%d",&n);
    21     for(int i=1;i<=n;i++)
    22     {
    23         scanf("%d",&tmp);
    24         while(!q.empty()&&q.top().data<tmp)
    25         {
    26             ans[++cnt]=q.top();
    27             ans[cnt].data=i;
    28             q.pop();
    29         }
    30         q.push(cow(i,tmp)); 
    31     }
    32     while(!q.empty()) 
    33     {
    34         ans[++cnt]=q.top();
    35         ans[cnt].data=0;
    36         q.pop();
    37     }
    38     sort(ans+1,ans+1+n,cmp);
    39     for(int i=1;i<=n;i++) printf("%d
    ",ans[i].data);
    40     return 0;
    41 } 
  • 相关阅读:
    BZOJ3669
    HDU3726
    BZOJ3282
    BZOJ2843
    Link/cut Tree
    Codeforces396A
    LOJ6277~6285 数列分块入门
    Codeforces446C
    Codeforces475D
    Codeforces103D
  • 原文地址:https://www.cnblogs.com/yu-xing/p/10162365.html
Copyright © 2011-2022 走看看