博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj2823-Sliding Window
阅读量:7143 次
发布时间:2019-06-29

本文共 1014 字,大约阅读时间需要 3 分钟。

两个单调队列就过了,不能用STL,会超时,手动模拟。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 const int maxn=1e6+5; 8 int q1[maxn],q2[maxn],l1,l2,r1,r2; 9 int n,k,as1[maxn],as2[maxn],a[maxn];10 void in1(int v,int id){11 while(l1<=r1&&a[q1[r1]]>v) r1--;12 q1[++r1]=id;13 while(l1<=r1&&q1[r1]-q1[l1]+1>k)l1++;14 }15 void in2(int v,int id){16 while(l2<=r2&&a[q2[r2]]
k)l2++;19 }20 21 int main(){22 ios::sync_with_stdio(false);23 cin>>n>>k;24 for(int i=1;i<=n;++i)25 cin>>a[i];26 for(int i=1;i<=k;++i){27 in1(a[i],i);in2(a[i],i);28 }29 as1[0]=a[q1[l1]];as2[0]=a[q2[l2]];30 for(int i=k+1;i<=n;++i){31 in1(a[i],i),in2(a[i],i);32 as1[i-k]=a[q1[l1]];as2[i-k]=a[q2[l2]];33 }34 for(int i=0;i<=n-k;++i){35 printf("%d ",as1[i]);36 }37 puts("");38 for(int i=0;i<=n-k;++i){39 printf("%d ",as2[i]);40 } 41 return 0;42 }43

 

转载于:https://www.cnblogs.com/AT-HENS/p/7755900.html

你可能感兴趣的文章
container_of()宏
查看>>
Blossoms
查看>>
LeetCode – Refresh – Fraction to Recurring Decimal
查看>>
Spring Boot 配置优先级顺序
查看>>
buildroot管理uboot+kernel+rootfs
查看>>
用P3P header解决IE下iframe跨域访问时候session丢失的问题
查看>>
Ant入门
查看>>
linux学习shell
查看>>
20180925-2 功能测试
查看>>
正则表达式常用的验证方法
查看>>
mac crontab调用python时出现ImportError: No module named XXX的问题
查看>>
linux之间进程通信
查看>>
CSS 面试题
查看>>
小程序--wepy省市区三级联动选择
查看>>
数据结构--算数表达式求值
查看>>
MySql数据库迁移图文展示
查看>>
设计模式中类的关系之实现(Realization)
查看>>
2019-3-6
查看>>
@Html.RenderAction/Partial VS @Html.Action/Partial & @Html.Partial VS @Html.Action
查看>>
Xap 包装失败。未将对象引用设置到对象的实例。 解决了
查看>>