51nod1437 迈克步

摘要:
isdigit)c=getchar();whilex=x*10+c-'0',c=getchar();returnx;}charsh[15];voidprint{intcnt=0;whilesh[++cnt]=x%10,x/=10;dwnputchar;putchar;}constintnmax=2e5+5;constintinf=0x7f7f7f7f;inta[nmax],ans[nmax],l[nmax],r[nmax],q[nmax];voidmaxs{if(a<b)a=b;}intmain(){intn=read();repa[i]=read();l[1]=1;intcur=1;q[1]=1;rep{while--cur;l[i]=q[cur]+1;q[++cur]=i;}r[n]=n;cur=1;q[1]=n;q[0]=n+1;dwn{while--cur;r[i]=q[cur]-1;q[++cur]=i;}repmaxs;inttmp=0;dwnmaxs,maxs;repprint;printf("");return0;}1437迈克步题目来源:CodeForces基准时间限制:1秒空间限制:131072KB分值:80难度:5级算法题收藏关注有n只熊。他们站成一排队伍,从左到右依次1到n编号。一组熊指的队伍中连续的一个子段。Input单组测试数据。第二行包含n个整数以空格分开,a1,a2,...,an,表示熊的高度。Output在一行中输出n个整数,对于x从1到n,输出组大小为x的最大力量。

傻叉单调栈

#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("
");
	return 0;
}
题目来源:CodeForces
基准时间限制:1秒 空间限制:131072KB 分值: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
1234543216
Output示例
6443322111

免责声明:文章转载自《51nod1437 迈克步》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇3D画廊UML实践详细经典教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

iOS学习——内存泄漏检查及原因分析

由于我刚刚加入项目团队,我不熟悉所讨论的模块的代码,所以当我遇到问题时,我感到非常困难。此外,作为一名iOS新手,我真的不知道如何排除内存泄漏以及原因。因此,我也借此机会研究了iOS开发中内存泄漏的故障排除方法和原因分析。尽管当前的iOS开发基本上采用ARC模式进行内存管理,但如果不小心,就会发生内存泄漏。...

IDEA 运行键是灰色

版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议。转载请附上原始来源链接和本声明。本文链接:https://blog.csdn.net/Butterfly_resting/article/details/89388149原因是我们的新项目没有选择源目录,如图所示:解决方案:IDEA提供了选择源目录的快速设置。右键单击src并选择MarkDire...

浅谈 SQL 注入(注入篇)

1、 SQL注入1.1简介什么是SQL注入?它不过滤用户可以严格控制或没有限制的参数,以便用户可以将传入的参数和SQL语句组合成SQL语句,然后将其传输到web服务器。最后,它被传输到数据库以执行添加、删除、修改和查询等操作。基于此,用户可以获取数据库数据或提高其销毁数据库数据的权限。...

微信小游戏流量主广告接入指南!

游戏通过审核发布上线,累计注册用户达到1000后,可以在管理后台开启流量主功能。广告接入广告类型有三种:激励式视频、插屏和BannerBanner广告接入需要注意:1.广告要显示全,不能放在屏幕外。我的游戏被以上原因拒绝了两次。我的banner广告是放在底部正中间,取最小宽度200。也就是尽量的小,不影响游戏操作。激励视频按钮一定要有视频广告相关的提示!...

js Base64与字符串互转

1、base64加密在页面中引入base64.js文件,调用方法为:˂!...

常用的Maven 插件

Maven本质上是一个插件框架。其核心不执行任何特定的施工任务。所有这些任务都委托给插件。多年来,Maven社区积累了大量经验,随后形成了成熟的插件生态系统。这个插件在一些Ant到Maven的迁移项目中特别有用。只要在父POM中配置规则,然后由每个人继承,Maven就会在规则被破坏时报告错误。...