【jzoj5285】【NOIP提高组模拟赛A组8.16】【排序】
来源:互联网 发布:破解路由器限速软件 编辑:程序博客网 时间:2024/05/16 06:21
题目大意
解题思路
用栈模拟,如果后面没有比栈顶大的数就弹出栈即可。
code
#include<set>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define LL long long#define fo(i,j,k) for(int i=j;i<=k;i++)#define fd(i,j,k) for(int i=j;i>=k;i--)#define fr(i,j) for(int i=begin[j];i;i=next[i])using namespace std;int const mn=1e6+9,inf=1e9+7;int n,a[mn],st[mn],mx[mn];int max(int x,int y){ return (x>y)?x:y;}int read(){ char ch=getchar(); while((ch<'0')||(ch>'9'))ch=getchar(); int v=0; while((ch>='0')&&(ch<='9'))v=v*10+ch-'0',ch=getchar(); return v;}int ww[30];void write(int x){ ww[0]=0; while(x)ww[++ww[0]]=x%10,x/=10; fd(i,ww[0],1)putchar(ww[i]+'0'); putchar(' ');}int main(){ freopen("d.in","r",stdin); freopen("d.out","w",stdout); scanf("%d",&n); fo(i,1,n)a[i]=read(); fd(i,n,1)mx[i]=max(mx[i+1],a[i]); fo(i,1,n-1){ st[++st[0]]=a[i]; while(st[0]&&(mx[i+1]<=st[st[0]])) write(st[st[0]--]); } st[++st[0]]=a[n]; while(st[0]) write(st[st[0]--]); return 0;}
阅读全文
0 0
- 【jzoj5285】【NOIP提高组模拟赛A组8.16】【排序】
- 【初中部 NOIP提高组 】模拟赛A
- 2017.07.05【NOIP提高组】模拟赛A组 灯
- 2017.07.05【NOIP提高组】模拟赛A组 邮递员
- {小结}2017.07.07【NOIP提高组】模拟赛A组
- 2017.08.25【NOIP提高组】模拟赛A组
- 2016.1.26【初中部 NOIP 提高组 】模拟赛 A
- 2016.3.5【初中部 NOIP提高组 】模拟赛A
- 2016.5.21【初中部 NOIP提高组 】模拟赛A 总结
- 2016.5.21【初中部 NOIP提高组 】模拟赛A 总结
- 2016.09.03【初中部 NOIP提高组 】模拟赛A总结
- 2017.05.28【NOIP 提高组】模拟赛
- NOIP提高组A组7.7模拟总结
- NOIP提高组A组7.8模拟总结
- JZOJ5281. 【NOIP提高组模拟A组8.15】钦点
- JZOJ5280. 【NOIP提高组模拟A组8.15】膜法师
- JZOJ5279. 【NOIP提高组模拟A组8.15】香港记者
- 【jzoj5279】【NOIP提高组模拟A组8.15】【香港记者】
- 用文件输入输出提交
- php利用mkdir创建多级目录
- aOFFICER: Adaptive OpenFlow Rules Placement
- stm32 i2c eeprom 24C02
- android系统声音调节
- 【jzoj5285】【NOIP提高组模拟赛A组8.16】【排序】
- Android开发 Apk打包之后百度地图不显示的原因以及解决方法
- 设置wlan 和以太网 ip 的bat 脚本
- android 数字签名
- Network POJ
- Mybatis简单操作
- C# 调用 C dll char* callback 设置回调函数不定参数
- Thymeleaf
- java获取本机ip(排除虚拟机等一些ip)