傻叉单调栈

#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define clr(x,c) memset(x,c,sizeof(x))
int read(){int x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();return x;
}
char sh[15];
void print(int x){int cnt=0;while(x) sh[++cnt]=x%10,x/=10;dwn(i,cnt,1) putchar(sh[i]+48);putchar(32);
}
const int nmax=2e5+5;
const int inf=0x7f7f7f7f;
int a[nmax],ans[nmax],l[nmax],r[nmax],q[nmax];
void maxs(int &a,int b){if(a<b) a=b;
}
int main(){int n=read();rep(i,1,n) a[i]=read();l[1]=1;int cur=1;q[1]=1;rep(i,2,n){while(a[q[cur]]>=a[i]&&cur) --cur;l[i]=q[cur]+1;q[++cur]=i;}r[n]=n;cur=1;q[1]=n;q[0]=n+1;dwn(i,n-1,1){while(a[q[cur]]>=a[i]&&cur) --cur;r[i]=q[cur]-1;q[++cur]=i;}rep(i,1,n) maxs(ans[r[i]-l[i]+1],a[i]);int tmp=0;dwn(i,n,1) maxs(ans[i],tmp),maxs(tmp,ans[i]);rep(i,1,n) print(ans[i]);printf("\n");return 0;
}

  

1437 迈克步
题目来源: CodeForces
基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题

 收藏
 关注

有n只熊。他们站成一排队伍,从左到右依次1到n编号。第i只熊的高度是ai。

一组熊指的队伍中连续的一个子段。组的大小就是熊的数目。而组的力量就是这一组熊中最小的高度。

迈克想知道对于所有的组大小为x(1 ≤ x ≤ n)的,最大力量是多少。

Input
单组测试数据。
第一行有一个整数n (1 ≤ n ≤ 2×10^5),表示熊的数目。
第二行包含n个整数以空格分开,a1, a2, ..., an (1 ≤ ai ≤ 10^9),表示熊的高度。
Output
在一行中输出n个整数,对于x从1到n,输出组大小为x的最大力量。
Input示例
10
1 2 3 4 5 4 3 2 1 6
Output示例
6 4 4 3 3 2 2 1 1 1

转载于:https://www.cnblogs.com/fighting-to-the-end/p/5910741.html

51nod1437 迈克步相关推荐

  1. matlab将图片导入工作区,matlab数据的导入和导出,以matlab工作区workspace为source和destination...

    MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入. 保存工作区可以通过菜单进行,也可以通过命令窗口进行. 数据导出 1. 保存整个工作区 选择Fil ...

最新文章

  1. 思谋科技A轮融资超1亿美元 ,成为最年轻“准独角兽”AI企业
  2. react 禁止微信调整字体大小
  3. jquery获取手机验证码按钮计时插件getVerifyCode.js
  4. C和指针之数组编程练习8(8皇后问题)
  5. [vue] SPA首屏加载速度慢的怎么解决?
  6. 前端学习(2692):重读vue电商网站13之使用动态编辑标签
  7. 字典排序什么意思_字典排序问题
  8. v4l2视频采集摄像头
  9. svg矩形参数_SVG矩形和其他SVG形状
  10. 人是不是不应该善良?
  11. 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
  12. Android 使用gson完成Json转map,json转单个对象,json转数组
  13. capslock键英语怎么读_电脑键盘上的那些英文键怎么读?
  14. 知更鸟php,PHP编辑器:phpDesigner
  15. android studio必须装c盘吗,Android Studio不占用c盘配置
  16. compositionAPI
  17. 经纬度换算数值_常用经纬度转换
  18. 火萤视频壁纸(让你的桌面丰富多彩)
  19. Cesium中添加entitie模型,实现贴地。
  20. h5游戏引流推广方法:电商平台如何引流推广?

热门文章

  1. Docker 的使用
  2. Kafka如何保证不丢数据?
  3. 斯坦福大学CS143编译原理课程笔记:2.编译器结构
  4. jQuery基础教程摘录- Hello world
  5. windows下的route print [转]
  6. 诸如北京现代 只有四个轮子和一电瓶由中国制造(转自新华网)
  7. Come On, Baby!
  8. STM32重上电后,HAL_GetDEVID返回0
  9. HDU 1398 Square Coins
  10. 【第四次JAVA课,java语法基础】课件总结