http://poj.org/problem?id=3264

 #include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
const int N=;
int dpmin[N][],dpmax[N][];
int main()
{
int i,j,n,m;
scanf("%d%d",&n,&m);
memset(dpmin,,sizeof(dpmin));
memset(dpmax,,sizeof(dpmax));
for(int i=;i<=n;i++){
scanf("%d",&dpmin[i][]);
dpmax[i][]=dpmin[i][];
}
int mm=floor(log(1.0*n)/log(2.0));
for(int j=;j<=mm;j++){
for(int i=;i<=n;i++){
if((i+(<<(j-)))<=n){
dpmin[i][j]=min(dpmin[i][j-],dpmin[i+(<<(j-))][j-]);
dpmax[i][j]=max(dpmax[i][j-],dpmax[i+(<<(j-))][j-]);
}
}
}
int x,y;
for(int i=;i<=m;i++){
scanf("%d%d",&x,&y);
int mid=floor(log(y*1.0-x+)/log(2.0));
int maxnum=max(dpmax[x][mid],dpmax[y-(<<mid)+][mid]);
int minnum=min(dpmin[x][mid],dpmin[y-(<<mid)+][mid]);
printf("%d\n",maxnum-minnum);
}
return ;
}

POJ3264RMQ的更多相关文章

随机推荐

  1. Servlet连接数据库

    测试连接数据库为MS Sql Server 2008 步骤一:去微软下载sqljdbc_4.0 步骤二:无需安装,解压出来,把sqljdbc4.jar包copy to Tomcat的lib目录下 步骤 ...

  2. 调用Newtonsoft.Json 报FileNotFoundException 错误

    具体如下: Exception StackTrace at Newtonsoft.Json.Converters.BinaryConverter.CanConvert(Type objectType) ...

  3. Redis集群方案介绍

    由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用.Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB.200GB的规模,但是单实例模式限制了Redis没法 ...

  4. bzoj2589: Spoj 10707 Count on a tree II

    Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v),你需要回答u xor lastans和v这两个节点间有多少种不同的点权.其中lastans是上一个询问的答案,初 ...

  5. 黄聪:wordpress源码解析-目录结构-文件调用关系(转)

    Wordpress是一个单入口的文件,所有的前端处理都必须经过index.php,这是通过修改web服务器的rewrite规则来实现的.这种做法的好处是显而易见的,这样URL更好看,不必为每一个url ...

  6. 《黄聪:手机移动站SEO优化教程》1、为什么要做手机移动端网站

    视频地址:http://v.youku.com/v_show/id_XNzE2Mzk3MjI4.html

  7. (C#) 调用执行批处理文件

    Task:  在Windows的Service里面定时的调用执行一个批处理文件. private ApplicationOutput RunCommandOnPC(string executableP ...

  8. hadoop-spark-hive-hbase配置相关说明

    1. zookeeper 配置 cp app/ochadoop-och3.0.0-SNAPSHOT/zookeeper-3.4.5-cdh5.0.0-beta-2-och3.0.0-SNAPSHOT/ ...

  9. [实变函数]2.5 Cantor 三分集

    1 Cantor 三分集的构造:                $$\bex P=\cap_{n=1}^\infty F_n.                   \eex$$ 2 Cantor 三分 ...

  10. 从千分位格式化谈JS性能优化

    所谓的千分位形式,即从个位数起,每三位之间加一个逗号.例如“10,000”.针对这个需求,我起初写了这样一个函数: // 方法一function toThousands(num) {var resul ...