题目链接:###

WOJ1583

题目分析:###

大水题……我就来水个题解

倒序扫,单调栈维护单减序列,每个对象的答案是栈里它下面那个元素


代码:###

#include<bits/stdc++.h>
#define MAXN (1000000+5)
using namespace std;
inline int read(){
int cnt=0,f=1;char c;
c=getchar();
while(!isdigit(c)){
if(c=='-')f=-f;
c=getchar();
}
while(isdigit(c)){
cnt=cnt*10+c-'0';
c=getchar();
}
return cnt*f;
}
int n,sta[MAXN],a[MAXN],top=0;
int ans[MAXN];
int main(){
n=read();
for(register int i=1;i<=n;i++)a[i]=read();
for(register int i=n;i>=1;--i){
while(a[sta[top]]<=a[i]&&top)top--;
sta[++top]=i;
if(top==0)ans[i]=0;
else
ans[i]=sta[top-1];
}
for(register int i=1;i<=n;i++)printf("%d\n",ans[i]);
return 0;
}

[WOJ1583]向右看齐的更多相关文章

  1. P2947 [USACO09MAR]向右看齐Look Up--单调栈

    单调栈真的很好用呢! P2947 [USACO09MAR]向右看齐Look Up 题目描述 Farmer John's N (1 <= N <= 100,000) cows, conven ...

  2. 洛谷 P2947 [USACO09MAR]向右看齐Look Up【单调栈】

    题目描述 Farmer John's N (1 <= N <= 100,000) cows, conveniently numbered 1..N, are once again stan ...

  3. 【洛谷P2947】向右看齐

    向右看齐 题目链接 此题可用单调栈O(n)求解 维护一个单调递减栈,元素从左到右入栈 若新加元素大于栈中元素,则栈中元素的仰望对象即为新加元素 每次将小于新加元素的栈中元素弹出,记录下答案 #incl ...

  4. EOJ 3213 向右看齐

    题目描述 N 头奶牛被紧急动员起来了,它们排成了一条长列.从左向右看,排在第 i 个位置的奶牛身高为 Hi.约翰一声令下,所有奶牛向右看齐.假设每头奶牛只能看到比自己高的牛.请问它们各自看到的最近的一 ...

  5. luogu P2947 [USACO09MAR]向右看齐Look Up |单调队列

    题目描述 Farmer John's N (1 <= N <= 100,000) cows, conveniently numbered 1..N, are once again stan ...

  6. [USACO09MAR]向右看齐Look Up(单调栈、在线处理)

    https://www.luogu.org/problem/P2947 题目描述 Farmer John's N (1 <= N <= 100,000) cows, convenientl ...

  7. 【luogu P2947 [USACO09MAR]向右看齐Look Up】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2947 因为在单调队列上被dalao们锤爆 怒刷单调队列题 何为单调队列? 设我们的队列为从左至右单调递增 对 ...

  8. 洛谷 P2947 [USACO09MAR]向右看齐Look Up

    目录 题目 思路 \(Code\) 题目 戳 思路 单调栈裸题 \(Code\) #include<stack> #include<cstdio> #include<st ...

  9. 洛谷P2947 [USACO09MAR]向右看齐Look Up

    #include<cstdio> #include<algorithm> #include<stack> #include<cctype> using ...

随机推荐

  1. openwrt gstreamer实例学习笔记(六. gstreamer Pads及其功能)

    一:概述 如我们在Elements一章中看到的那样,Pads是element对外的接口.数据流从一个element的source pad到另一个element的sink pad.pads的功能(cap ...

  2. 增加实时性的异常url检测

    技能点: 搭建服务器.restfulapi 在py脚本中调取另一个脚本执行

  3. C# List Find方法

    https://blog.csdn.net/knqiufan/article/details/77847143

  4. 数据库连接池-配置 wallfilter

    使用缺省配置的WallFilter <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSou ...

  5. spring的依赖注入(DI)、控制反转(IOC)和面向切面(AOP)

    在spring的配置文件增加 <context:component-scan base-package="com.jmu.ccjoin.service"/> <c ...

  6. monitor.sh java脚本学习

    #! /bin/bash# unset any variable which system may be using# clear the screen while getopts ivh named ...

  7. ES6 对象的解构赋值

    对象的解构赋值 解构不仅可以用于数组,还可以用于对象. let {foo,bar} = {foo:"aaa",bar:"bbb"}; console.log(f ...

  8. skynet源码阅读<3>--网关分析

    继上一篇介绍了skynet的网络部分之后,这一篇以网关gate.lua为例,简单分析下其串接和处理流程. 在官方给出的范例中,是以examples/main.lua作为启动脚本的,在此过程中会创建wa ...

  9. codeforces 690C2 C2. Brain Network (medium)(bfs+树的直径)

    题目链接: C2. Brain Network (medium) time limit per test 2 seconds memory limit per test 256 megabytes i ...

  10. QT官网开源版下载引导(不用登录QT账号)

    一.进入QT官网下载页,首先映入眼前的就是一幅用户选择的调查引导,如下图 二.上图页面显示的可以忽略,直接在上图下载页面上下拉至底部,选择OpenSource->Get started即可进行下 ...