zoukankan      html  css  js  c++  java
  • poj 3264

    最近OI颓废了。。。文化课也貌似要颓废了QAQ两者有点难调节啊。。。

    先刷个水题。。。初看就想用线段树或BIT,其实可以用RMQ那。。。于是代码短了点

     1 #include<cstdio>
     2 #include<queue>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<cmath>
     7 #define inc(i,l,r) for(i=l;i<=r;i++)
     8 #define dec(i,l,r) for(i=l;i>=r;i--)
     9 #define inf 1e9
    10 #define mem(a) memset(a,0,sizeof(a))
    11 #define ll long long
    12 #define succ(x) (1<<x)
    13 #define NM 50000+5
    14 using namespace std;
    15 int read(){
    16     int x=0,f=1;char ch=getchar();
    17     while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
    18     while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
    19     return x*f;
    20 }
    21 int n,m,x,y,k,i,j,f[NM][25],d[NM][25],p=20;
    22 int main(){
    23     n=read();m=read();
    24     inc(i,1,n)d[i][0]=f[i][0]=read();
    25     inc(j,1,p)
    26     inc(i,1,n){
    27         f[i][j]=f[i][j-1];d[i][j]=d[i][j-1];
    28         if(i+succ(j-1)<=n){
    29         f[i][j]=max(f[i][j],f[i+succ(j-1)][j-1]);
    30         d[i][j]=min(d[i][j],d[i+succ(j-1)][j-1]);
    31         }
    32     }
    33     inc(i,1,m){
    34         x=read();y=read();
    35         k=log(y-x+1.0)/log(2.0);
    36         printf("%d
    ",max(f[x][k],f[y-succ(k)+1][k])-min(d[x][k],d[y-succ(k)+1][k]));
    37     }
    38     return 0;
    39 }
    View Code
  • 相关阅读:
    erlang 大神
    Mysql5.7全新的root密码规则
    单机多实例
    mysql 5.7源码安装
    MySQL审计功能
    MySQL升5.6引发的问题
    一千行MySQL学习笔记
    MySQL5.6新特性之GTID、多线程复制
    正确修改MySQL最大连接数的三种好用方案
    MYSQL 慢日志
  • 原文地址:https://www.cnblogs.com/onlyRP/p/4830401.html
Copyright © 2011-2022 走看看