poj2823(ST)
来源:互联网 发布:新剑侠情缘mac下载 编辑:程序博客网 时间:2024/05/16 18:58
#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#define For(i,j,k) for(i=j;i<=k;++i)int a[1000020],d[1000020],n,k,d1[1000020],i,j,lo;int min(int a,int b){if (a<b) return a; else return b;}int max(int a,int b){if (a>b) return a; else return b;}void build(){For(i,1,n) d[i]=a[i];For(j,1,lo)for(i=1;i+(1<<j)-1<=n;++i)d[i]=min(d[i],d[i+(1<<(j-1))]);}void build1(){For(i,1,n) d[i]=a[i];For(j,1,lo)for(i=1;i+(1<<j)-1<=n;++i)d[i]=max(d[i],d[i+(1<<(j-1))]);}int query(int l,int r){return min(d[l],d[r-(1<<lo)+1]);}int query1(int l,int r){return max(d[l],d[r-(1<<lo)+1]);}int main(){int i;scanf("%d%d",&n,&k);lo=0;while (1<<(lo+1)<=k) ++lo;For(i,1,n) scanf("%d",&a[i]);build();For(i,1,n-k) {printf("%d ",query(i,i+k-1));}printf("%d\n",query(i,i+k-1));build1();For(i,1,n-k) {printf("%d ",query1(i,i+k-1));}printf("%d\n",query1(i,i+k-1));return 0;}
1 0
- poj2823(ST)
- poj2823——Sliding Window(ST算法)
- POJ2823 Sliding Window(线段树 ST算法 优先队列)
- poj2823
- POJ2823
- poj2823
- poj2823
- POJ2823
- poj2823
- poj2823
- POJ2823
- poj2823
- POJ2823
- POJ2823
- ST
- ST
- ST
- poj2823(堆)
- java中的StringBuilder类的使用, String、StringBuilder、StringBuffer的区别
- 面试心得与总结-——答案整理
- 从gff3文件获得fasta序列
- Linux计算机组成和基本命令详解
- C++中static关键字
- poj2823(ST)
- linux下安装JDK以及修改path路径的方法
- poj2823(暴力)(tle)
- 递归调用中栈溢出原因
- android rom制作之bootimg的详细介绍和使用
- Linux文件的管理和命令
- Redis
- poj2823(堆)
- 怎样修改安卓bootimg内核