POJ3264RMQ
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的更多相关文章
随机推荐
- WPF拖到、移动控件
只需2个事件和一个point变量即可: Point mouse_offset = , ); void TC_MouseLeftButtonDown(object sender, MouseButton ...
- 深入了解iPad上的MouseEvent【转】
iPad上没有鼠标,所以手指在触发触摸事件(TouchEvent)的时候,系统也会产生出模拟的鼠标事件(MouseEvent). 这对于普通网页的浏览需求而言,基本可以做到与PC端浏览器无明显 ...
- vs2012 遇到 “此操作要求使用 IIS 集成管线模式。”
这个项目是VS2013开发的,我用2012打开想调试,但报这个错误. 最后安装2013,然后调试则正常.
- 【转】c#实现文件下载
需求:点击SAVE,去ajax去后台下载文件,完成后出现保存对话框,然后直接下载. 解决方案:下载完成后用JS转到向到另一个页面,在这页面Page_Load里用C#Response对象直接下载. 下载 ...
- 黄聪:如何开启IIS7以上的“IIS6管理兼容性”
护卫神PHP套件的安装,需要开启“IIS6管理兼容性”, 那么,如何开启IIS7.IIS7.5.IIS8.0的IIS6兼容模式呢? 设置的时候,请参照如下截图:
- J2EE学习中一些值得研究的开源项(转)
这篇文章写在我研究J2SE.J2EE近三年后.前3年我研究了J2SE的Swing.Applet.Net.RMI.Collections. IO.JNI……研究了J2EE的JDBC.Sevlet.JSP ...
- Form_通过Zoom客制化跳转页面功能(案例)
2012-09-08 Created By BaoXinjian
- SteamVR Unity工具包(VRTK)之激光和移动
简单激光指针(VRTK_ SimplePointer) 简单指针(Simple Pointer)脚本从控制器尾部发出一个有色光束来模拟激光束.这在场景中指向对象很有用,它能判断所指向的对象以及对象距控 ...
- Linux重置mysql密码(转载)
From:http://hi.baidu.com/mcspring/item/6358ee27afe7e1c8a5275ab7 首先,必须拥有MySQL操作的所有权限: 其次,停止MySQL服务: / ...
- android之Spinner控件用法
用法1: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...