会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
c语言源码
POJ 2823 Sliding Window 单调队列
这道题就是用单调队列来维护,但是用G++交TLE,用c++5000多ms,真是囧...代码很丑,就凑合着看吧 #include<stdio.h> int a[1000009],que[1000009]; int main(){ int n,k,i,head,tail,flag=1,f; scanf("%d %d",&n,&k); for(i=1;i<=n;i++) scanf("%d",&a[i]); head=1;tail=0; f=1; for(i=1;i<=n;i++){ while(tail>=head && a[i]<a[que[tail]]) tail--; que[++tail]=i; if(i>=k){ if(que[head]<f) head++; if(flag){ printf("%d",a[que[head]]); flag=0; } else printf(" %d",a[que[head]]); f++; } } printf("\n"); head=1;tail=0; flag=1; f=1; for(i=1;i<=n;i++){ while(tail>=head && a[i]>a[que[tail]]) tail--; que[++tail]=i; if(i>=k){ if(que[head]<f) head++; if(flag){ printf("%d",a[que[head]]); flag=0; } else printf(" %d",a[que[head]]); f++; } } printf("\n"); }
posted on
2011-11-21 22:41
c语言源码
阅读(
223
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告