POJ 3264 Balanced Lineup(模板题)【RMQ】
<题目链接>
题目大意:
给定一段序列,进行q次询问,输出每次询问区间的最大值与最小值之差。
解题分析:
RMQ模板题,用ST表求解,ST表用了倍增的原理。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std; typedef long long ll;
const int M=5e4+;
int n,q;
ll maxsum[M][],minsum[M][];
void RMQ(){
int num=log((double)(n))/log(2.0);
for(int j=;j<=num;j++){
for(int i=;i+(<<j)-<=n;i++){
maxsum[i][j]=max(maxsum[i][j-],maxsum[i+(<<(j-))][j-]);
minsum[i][j]=min(minsum[i][j-],minsum[i+(<<(j-))][j-]);
}
}
}
int main(){
scanf("%d%d",&n,&q);
for(int i=;i<=n;i++){
scanf("%lld",&maxsum[i][]);
minsum[i][]=maxsum[i][];
}
RMQ();
while(q--){
int x,y;
scanf("%d%d",&x,&y);
if(x>y)swap(x,y);
int k=log((double)(y-x+))/log(2.0);
ll mx=max(maxsum[x][k],maxsum[y-(<<k)+][k]);
ll mn=min(minsum[x][k],minsum[y-(<<k)+][k]);
printf("%lld\n",mx-mn);
}
return ;
}
2018-10-19
POJ 3264 Balanced Lineup(模板题)【RMQ】的更多相关文章
- poj 3264 Balanced Lineup 区间极值RMQ
题目链接:http://poj.org/problem?id=3264 For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) alw ...
- POJ 3264 Balanced Lineup 线段树RMQ
http://poj.org/problem?id=3264 题目大意: 给定N个数,还有Q个询问,求每个询问中给定的区间[a,b]中最大值和最小值之差. 思路: 依旧是线段树水题~ #include ...
- Poj 3264 Balanced Lineup RMQ模板
题目链接: Poj 3264 Balanced Lineup 题目描述: 给出一个n个数的序列,有q个查询,每次查询区间[l, r]内的最大值与最小值的绝对值. 解题思路: 很模板的RMQ模板题,在这 ...
- POJ 3264 Balanced Lineup 【ST表 静态RMQ】
传送门:http://poj.org/problem?id=3264 Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total S ...
- poj 3264 Balanced Lineup(RMQ裸题)
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 43168 Accepted: 20276 ...
- poj 3264 Balanced Lineup (RMQ)
/******************************************************* 题目: Balanced Lineup(poj 3264) 链接: http://po ...
- POJ 3264 Balanced Lineup(RMQ)
点我看题目 题意 :N头奶牛,Q次询问,然后给你每一头奶牛的身高,每一次询问都给你两个数,x y,代表着从x位置上的奶牛到y位置上的奶牛身高最高的和最矮的相差多少. 思路 : 刚好符合RMQ的那个求区 ...
- poj 3264 Balanced Lineup【RMQ-ST查询区间最大最小值之差 +模板应用】
题目地址:http://poj.org/problem?id=3264 Sample Input 6 3 1 7 3 4 2 5 1 5 4 6 2 2 Sample Output 6 3 0分析:标 ...
- poj 3264:Balanced Lineup(线段树,经典题)
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 32820 Accepted: 15447 ...
随机推荐
- Confluence 6 配置索引语言
修改你 Confluence 的索引语言将有助于你提高搜索的准确性,如果你网站使用的主要语言是除了英语以外的其他语言. Confluence 可以支持下面语言的的内容索引: Arabic Brazil ...
- Vue+restfulframework示例
一.简单回顾vue 前不久我们已经了解了vue前端框架,所以现在强调几点: 修改源: npm config set registry https://registry.npm.taobao.org 创 ...
- 《剑指offer》顺时针打印矩阵
本题来自<剑指offer> 顺时针打印矩阵 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 1 ...
- 《剑指offer》 数值的整数次方
本题来自<剑指offer> 数值的整数次方 题目: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路: 代码从三个方面处 ...
- laravel 注入那点事
public function delete(Group $groupId, Post $postId) { $postId->delete(); return response()->j ...
- PDF怎么编辑,如何旋转PDF页面方向
很多的时候,无论是工作中,还是在学习中都会遇到PDF文件,对于PDF文件,熟悉的小伙伴知道,在编辑PDF文件的时候,是需要使用到PDF编辑软件的,那么,在编辑PDF文件的时候,需要旋转文件的页面,这时 ...
- go-web项目性能测试,CPU, 内存泄露等
go中提供了pprof包来做代码的性能监控,在两个地方有包: net/http/pprof runtime/pprof 其实net/http/pprof中只是使用runtime/pprof包来进行封装 ...
- linux下mysql源码安装
参考链接:http://blog.csdn.net/zqtsx/article/details/9378703 下载mysql安装包, 不会下载点这里 地址:ftp://mirror.switch.c ...
- centos--git搭建之Gogs安装
1.下载git yum intall -y git 2. 创建git用户(必须新创建git用户, 用root用户会导致无法下载) #创建git用户 sudo adduser git #给git用户设置 ...
- Loadrunner Web (HTTP/HTML) 接口测试
Action() { int nHttpRetCode; lr_rendezvous("read"); lr_start_transaction("go /*w ...