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

题意:给你一个长度为n的序列a[N] (1 ≤ N ≤ 50000),询问Q(1 ≤ Q ≤ 200000) 次,每次输出【L, R】区间最大值与最小值的差是多少。

只需把模板的求和改成求最大和最小即可

  1. #include <string.h>
  2. #include <algorithm>
  3. #include <stdio.h>
  4. #include <math.h>
  5. #include <queue>
  6. using namespace std;
  7. const int maxn = 1e5+ ;
  8. const int inf = 0x3f3f3f3f;
  9.  
  10. struct node{
  11. int l,r;
  12. int add;
  13. int sum;
  14. int mx;
  15. int mn;
  16. }tree[maxn<<];
  17.  
  18. int kase=;
  19. int n,m,t;
  20. int a,b,c;
  21. int val = ;
  22. int ans = ;
  23. int mx,mn;
  24. void pushup(int k)
  25. {
  26. //tree[k].sum = tree[k<<1].sum+tree[k<<1|1].sum;
  27. tree[k].mx = max(tree[k<<].mx,tree[k<<|].mx);
  28. tree[k].mn = min(tree[k<<].mn,tree[k<<|].mn);
  29. }
  30.  
  31. void build(int l,int r,int k)
  32. {
  33. tree[k].l = l; tree[k].r = r;
  34. if(l == r){scanf("%d",&tree[k].sum); tree[k].mn = tree[k].mx = tree[k].sum; return; }
  35. int mid = (l+r)>>;
  36. build(l,mid,k<<);
  37. build(mid+,r,k<<|);
  38. pushup(k);
  39. }
  40.  
  41. void query(int k)
  42. {
  43. if(a <= tree[k].l && b >= tree[k].r)
  44. {
  45. mx = max(mx,tree[k].mx);
  46. mn = min(mn,tree[k].mn);
  47. return ;
  48. }
  49.  
  50. int mid = (tree[k].l+tree[k].r)>>;
  51. if(a <= mid){ query(k<<);}
  52. if(b > mid){ query(k<<|);}
  53. }
  54. int main()
  55. {
  56. while(scanf("%d%d",&n,&m)!=EOF)
  57. {
  58. build(,n,);
  59. while(m--)
  60. {
  61. scanf("%d%d",&a,&b);
  62. mx = -;
  63. mn = inf;
  64. query();
  65. ans = mx -mn;
  66. printf("%d\n",ans);
  67. }
  68. }
  69. }

POJ 3264 Balanced Lineup (线段树查找最大最小值)的更多相关文章

  1. [POJ] 3264 Balanced Lineup [线段树]

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 34306   Accepted: 16137 ...

  2. poj 3264 Balanced Lineup(线段树、RMQ)

    题目链接: http://poj.org/problem?id=3264 思路分析: 典型的区间统计问题,要求求出某段区间中的极值,可以使用线段树求解. 在线段树结点中存储区间中的最小值与最大值:查询 ...

  3. POJ 3264 Balanced Lineup 线段树RMQ

    http://poj.org/problem?id=3264 题目大意: 给定N个数,还有Q个询问,求每个询问中给定的区间[a,b]中最大值和最小值之差. 思路: 依旧是线段树水题~ #include ...

  4. POJ 3264 Balanced Lineup 线段树 第三题

    Balanced Lineup Description For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line ...

  5. POJ 3264 Balanced Lineup (线段树)

    Balanced Lineup For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the s ...

  6. POJ - 3264 Balanced Lineup 线段树解RMQ

    这个题目是一个典型的RMQ问题,给定一个整数序列,1~N,然后进行Q次询问,每次给定两个整数A,B,(1<=A<=B<=N),求给定的范围内,最大和最小值之差. 解法一:这个是最初的 ...

  7. 【POJ】3264 Balanced Lineup ——线段树 区间最值

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 34140   Accepted: 16044 ...

  8. POJ3264 Balanced Lineup 线段树区间最大值 最小值

    Q个数 问区间最大值-区间最小值 // #pragma comment(linker, "/STACK:1024000000,1024000000") #include <i ...

  9. Poj 3264 Balanced Lineup RMQ模板

    题目链接: Poj 3264 Balanced Lineup 题目描述: 给出一个n个数的序列,有q个查询,每次查询区间[l, r]内的最大值与最小值的绝对值. 解题思路: 很模板的RMQ模板题,在这 ...

  10. POJ 3264 Balanced Lineup【线段树区间查询求最大值和最小值】

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 53703   Accepted: 25237 ...

随机推荐

  1. kali漏洞扫描

    nmap (apt-get install nmap)          nmap从初级到高级 ------------------------------ Nessus (dpkg -i Nessu ...

  2. github常见错误提示之一

    如果输入$ Git remote add origin git@github.com:Jomsou(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote o ...

  3. Rpgmakermv(33) Mog_PictureGallery

    ============================================================================= +++ MOG - Picture Gall ...

  4. Python 1.安装

    Python是一种开源语言,有很多第三方库. 1. Python3 及相关组件下载及安装 a. Python3下载:https://www.python.org/downloads/->点击以下 ...

  5. 【2017-2-24】C#循环嵌套,跳转语句,迭代穷举,异常语句,while循环

    循环嵌套 在一个循环体语句中包含另一个循环语句: 99乘法表 ; i <= ; i++) { ; j <= i; j++) { Console.Write(i+"x"+ ...

  6. Python 连接SQL Server数据库 - pymssql使用基础

    1.  官方api http://www.pymssql.org/en/stable/ref/pymssql.html 我学习自这里

  7. Hive分区表新增字段及修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

    一.Hive分区表新增字段 参考博客:https://blog.csdn.net/yeweiouyang/article/details/44851459 二.Hive修改表名,列名,列注释,表注释, ...

  8. flask模板的基本用法(定界符、模板语法、渲染模板),模板辅助工具(上下文、全局对象、过滤器、测试器、模板环境对象)

    flask模板 在动态web程序中,视图函数返回的HTML数据往往需要根据相应的变量(比如查询参数)动态生成. 当HTML代码保存到单独的文件中时,我们没法再使用字符串格式化或拼接字符串的当时在HTM ...

  9. Linux服务器---配置nfs

    配置nfs NFS服务的主要配置文件为/etc/exports./etc/exports文件内容格式: <输出目录> 客户端(选项:访问权限,用户映射,其他) 1.输出目录 输出目录是指N ...

  10. win10 校园宽带连接不上的解决办法(错误720、“以太网”没有有效的ip设置)

    遇到的问题如下图所示: 插上宽带后,查看以太网状态显示如下: 创建新连接宽带(PPPoE)(R)后,连接失败,错误为720,显示如下: 以太网网络诊断后,结果显示“以太网”没有有效的Ip设置,如下图所 ...