Balanced Lineup POJ - 3264
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define MAXN 50010
int n , q;
int h[MAXN];
struct Node{
int l;
int r;
int minNum;
int maxNum;
} tr[*MAXN];
void build(int l,int r,int u){
tr[u].l=l;
tr[u].r=r;
if(l==r)
{
tr[u].minNum=h[l];
tr[u].maxNum=h[l];
return;
}
int mid=l+r>>;
build(l ,mid,u<<);
build(mid+,r,u<<|);
tr[u].minNum=min(tr[u<<].minNum,tr[(u<<)+].minNum);
tr[u].maxNum=max(tr[u<<].maxNum,tr[(u<<)+].maxNum);
}
//查询最大值
int queryMax(int l,int r,int u){
if(tr[u].l==l&&tr[u].r==r)
return tr[u].maxNum;
int mid=tr[u].l+tr[u].r>>;
if(r<=mid)
return queryMax(l,r,u<<);
else if(l>mid)
return queryMax(l,r,u<<|);
else
return max(queryMax(l,mid,u<<),queryMax(mid+,r,(u<<)+));
}
//查询最小值
int queryMin(int l,int r,int u)
{
if(tr[u].l==l&&tr[u].r==r)
return tr[u].minNum;
int mid=tr[u].l+tr[u].r>>;
if(r<=mid)
return queryMin(l,r,u<<);
else if(l>mid)
return queryMin(l ,r,u<<|);
else
return min(queryMin(l,mid,u<<),queryMin(mid+,r,(u<<)+));
}
int main(){
while(scanf("%d%d",&n,&q)!=EOF)
{
for(int i=;i<=n;i++)
scanf("%d",&h[i]);
build(,n,);
int l,r;
for(int i=;i<q;i++){
scanf("%d%d",&l,&r);
cout<<queryMax(l,r,)-queryMin(l,r,)<<endl;
}
}
return ;
}
Balanced Lineup POJ - 3264的更多相关文章
- (线段树)Balanced Lineup --POJ --3264
链接: 对于POJ老是爆,我也是醉了, 链接等等再发吧! http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82832#problem/G 只 ...
- Day6 - H - Balanced Lineup POJ - 3264
For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One d ...
- G - Balanced Lineup POJ - 3264 线段树最大最小值区间查询模版题
题意 给出一个序列 每次查询区间的max-min是多少 思路:直接维护max 和min即可 写两个query分别查最大最小值 #include<cstdio> #include< ...
- Gold Balanced Lineup - poj 3274 (hash)
这题,看到别人的解题报告做出来的,分析: 大概意思就是: 数组sum[i][j]表示从第1到第i头cow属性j的出现次数. 所以题目要求等价为: 求满足 sum[i][0]-sum[j][0]=sum ...
- Gold Balanced Lineup POJ - 3274
Description Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been abl ...
- poj 3264 Balanced Lineup (RMQ)
/******************************************************* 题目: Balanced Lineup(poj 3264) 链接: http://po ...
- G - Balanced Lineup
G - Balanced Lineup POJ - 3264 思路:水题,线段树的基本操作即可. #include<cstdio> #include<cstring> #inc ...
- POJ 3264 Balanced Lineup【线段树区间查询求最大值和最小值】
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 53703 Accepted: 25237 ...
- POJ - 3264——Balanced Lineup(入门线段树)
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 68466 Accepted: 31752 ...
随机推荐
- Spring-cloud微服务实战【八】:API网关zuul
在前面的文章中,我们先后使用了eureka/ribbon/feign/hystrix搭建了一个看似完美的微服务了,那是否还有值得继续优化的地方呢?答案肯定是有的,如果从整个微服务内部来看,基本已经 ...
- CSS 对于grid布局的理解,举例代码及解释
网格布局介绍: CSS Grid(网格) 布局(又称为 “Grid(网格)” ),是一个二维的基于网格的布局系统它的目标是完全改变我们基于网格的用户界面的布局方式.CSS 一直用来布局我们的网页,但一 ...
- 【MySQL 原理分析】之 Trace 分析 order by 的索引原理
一.背景 昨天早上,交流群有一位同学提出了一个问题.看下图: 我不是大佬,而且当时我自己的想法也只是猜测,所以并没有回复那位同学,只是接下来自己做了一个测试验证一下. 他只简单了说了一句话,就是同样的 ...
- python UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 87: illegal multibyte sequence异常解决
我们处理文本文件时,经常会遇到这样的报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 87: illegal ...
- windows 使用ssh连接docker容器
在Windows上搭建docker服务器需要在Windows模拟一个Linux平台,然后在Linux平台上搭建的docker服务器,所以在使用ssh工具连接docker容器的时候,使用的ip地址不是d ...
- 关于django.conf.urls的路由匹配问题
1. 问题 目前自己在写一个网站,但是在后端写好api前端请求的时候,无论如何都请求不到对应的python函数上去,于是自己就把对应的url名修改之后就可以了,具体如下: ## 出现问题的代码 fro ...
- Java集合中removeIf的使用
在JDK1.8中,Collection以及其子类新加入了removeIf方法,作用是按照一定规则过滤集合中的元素.这里给读者展示removeIf的用法.首先设想一个场景,你是公司某个岗位的HR,收到了 ...
- Django ORM各种查询
正向和反向查询 正向 ----> 关联字段在当前表中,从当前表向外查叫正向 反向 —> 关联字段不在当前表中,当当前表向外查叫反向 正向通过字段,反向通过表名查 表结构 from djan ...
- html标签学习入门 随笔
Html学习入门 随笔1: HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 标题仅用于标题文本 不应该被使用在加粗字 ...
- DFS判断图是否有环
利用_DFS_来判断无向图是否存在环的条件思路,我看一次_DFS_是否能访问到之前访问到的节点,如果能够访问到,就说明图存在环,那么关键问题就是判断是一次DFS?,追根到_DFS_算法的实现细节, ...