题目链接:https://vjudge.net/problem/POJ-3264

题意:线段树简单应用题,区间查询最大值和最小值的差。

思路:用线段树维护区间的最大值和最小值即可。

AC代码:

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=; struct node{
int l,r,Max,Min;
}tr[maxn<<]; int n,Q,a[maxn],ans1,ans2; void build(int v,int l,int r){
tr[v].l=l,tr[v].r=r;
if(l==r){
tr[v].Max=tr[v].Min=a[l];
return;
}
int mid=(tr[v].l+tr[v].r)>>;
build(v<<,l,mid);
build(v<<|,mid+,r);
tr[v].Max=max(tr[v<<].Max,tr[v<<|].Max);
tr[v].Min=min(tr[v<<].Min,tr[v<<|].Min);
} void query(int v,int l,int r){
if(l<=tr[v].l&&r>=tr[v].r){
ans1=max(ans1,tr[v].Max);
ans2=min(ans2,tr[v].Min);
return;
}
int mid=(tr[v].l+tr[v].r)>>;
if(l<=mid)
query(v<<,l,r);
if(r>mid)
query(v<<|,l,r);
} int main(){
scanf("%d%d",&n,&Q);
for(int i=;i<=n;++i)
scanf("%d",&a[i]);
build(,,n);
while(Q--){
int a,b;
scanf("%d%d",&a,&b);
ans1=,ans2=0x3f3f3f3f;
query(,a,b);
printf("%d\n",ans1-ans2);
}
return ;
}

poj3264(简单线段树)的更多相关文章

  1. HDOJ-1754(简单线段树)

    最近开始重新学习线段树,先从最简单的开始吧! I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  2. J - Assign the task - hdu 3974(DFS建树+简单线段树)

    题意:给一些节点简单额对应关系,可以组成一个树,如果树的某一个节点更新那么他的所有子节点都要更新,中间,会有一些查询 分析:题意倒也不难理解,但是但是不知道怎么建树...于是自能百度,看了kuangb ...

  3. hdu1556 Color the ball 简单线段树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556 简单的线段树的应用 直接贴代码了: 代码: #include<iostream> # ...

  4. HihoCoder1070 区间最小值(简单线段树)

    个测试点(输入文件)有且仅有一组测试数据. 每组测试数据的第1行为一个整数N,意义如前文所述. 每组测试数据的第2行为N个整数,分别描述每种商品的重量,其中第i个整数表示标号为i的商品的重量weigh ...

  5. poj3264(线段树区间求最值)

    题目连接:http://poj.org/problem?id=3264 题意:给定Q(1<=Q<=200000)个数A1,A2,```,AQ,多次求任一区间Ai-Aj中最大数和最小数的差. ...

  6. HDU 3974 Assign the task(简单线段树)

    Assign the task Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. POJ3264(线段树求区间最大最小值)

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 41162   Accepted: 19327 ...

  8. CodeForces-816B:Karen and Coffee (简单线段树)

    To stay woke and attentive during classes, Karen needs some coffee! Karen, a coffee aficionado, want ...

  9. hdu 1166 敌兵布阵(简单线段树or树状数组)

    题意: N个工兵营地,第i个营地有ai个人. 三种操作: 1.第i个营地增加x个人. 2.第i个营地减少x个人. 3.查询第i个到第j个营地的总人数. 思路: 线段树or树状数组 代码:(树状数组) ...

随机推荐

  1. yii框架学习(安装)

    安装yii: 在本地安装前, 要确保PHP配置了环境变量, 通过cmd输入PHP -v 即可检测. 能看到PHP版本号, 则OK. PHP不是内部命令,则需要添加PHP环境变量.   使用compos ...

  2. laravel中遇到的坑

    已经遇到的坑和未来可能遇到的坑都将在这里写出来: 在资源控制器中创建新的方法后(如果资源控制器中的7个方法无法满足你的需求时,你就会创建新的方法),接下来就是创建路由,这个时候注意了,你必须要把路由放 ...

  3. prop(name|properties|key,value|fn)

    prop(name|properties|key,value|fn) 概述 获取在匹配的元素集中的第一个元素的属性值.直线电机选型 随着一些内置属性的DOM元素或window对象,如果试图将删除该属性 ...

  4. BZOJ 3667: Rabin-Miller算法 (Pollard-Rho 模板)

    说实话,我知道每一步都干啥,但我完全不知道为啥这么做,也不知道为什么是正确的,反正会用就行了~ #include <cmath> #include <cstdio> #incl ...

  5. 解决xshell无法连接virtualbox中的虚拟机(Ubuntu18.04)的问题

    遇到这个问题第一反应是是否安装相应的组件: sudo apt-get install openssh-server 开启防火墙端口 firewall-cmd --zone=/tcp --permane ...

  6. Spring Boot 线程池的使用和扩展 - 转载

    转载:http://blog.csdn.net/boling_cavalry/article/details/79120268 1.实战环境 windowns10: jdk1.8: springboo ...

  7. Mac securecrt 破解

      今天花了好长的时间终于在Mac上把SecureCRT安装成功了,网上教程大多没有截图,破解关键步骤含糊,现在把详细的破解过程和SecureCRT使用教程分享给大家.最后把参考的博客连接附在最下方. ...

  8. js 执行总结1

    一. function sayHi() { let x; let y; try { throw new Error(); } catch (x) { // 局部 x = 1; console.log( ...

  9. 一个继承的 DataGridView

    // 允许增加一个 checkbox 列 public class DgvBase : DataGridViewX { protected override void OnColumnAdded(Da ...

  10. 技术选型之Docker容器引擎

    https://mp.weixin.qq.com/s?__biz=Mzg3NjAyOTUzMQ==&mid=2247484524&idx=1&sn=ac041bf3e36dda ...