zoukankan      html  css  js  c++  java
  • bzoj3381[Usaco2004 Open]Cave Cows 2 洞穴里的牛之二*

    bzoj3381[Usaco2004 Open]Cave Cows 2 洞穴里的牛之二

    题意:

    RMQ问题。序列长度≤25000,问题数≤25000。

    题解:

    倍增。

    代码:

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 #define inc(i,j,k) for(int i=j;i<=k;i++)
     5 #define maxn 25100
     6 using namespace std;
     7 
     8 inline int read(){
     9     char ch=getchar(); int f=1,x=0;
    10     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
    11     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
    12     return f*x;
    13 }
    14 int n,m,lg[maxn],mn[maxn][20];
    15 int main(){
    16     n=read(); m=read(); inc(i,1,n)mn[i][0]=read();
    17     for(int i=0;1<<i<=n;i++)lg[1<<i]=i; inc(i,1,n)if(!lg[i])lg[i]=lg[i-1];
    18     for(int i=1;1<<i<=n;i++)inc(j,1,n)if(j+(1<<i)-1<=n)mn[j][i]=min(mn[j][i-1],mn[j+(1<<(i-1))][i-1]);
    19     inc(i,1,m){
    20         int a=read(),b=read(),c=lg[b-a+1];
    21         printf("%d
    ",min(mn[a][c],mn[b-(1<<c)+1][c]));
    22     }
    23     return 0;
    24 }

    20160912

  • 相关阅读:
    十个一篇
    css等比例缩放
    windows高度和宽度相关文档
    希尔排序
    插入排序
    选择排序
    冒泡排序
    php面试题之面向对象
    前端面试题
    Python课习题笔记
  • 原文地址:https://www.cnblogs.com/YuanZiming/p/5876499.html
Copyright © 2011-2022 走看看