poj3264-Balanced Lineup(点更新,区间最值)
来源:互联网 发布:交易网站源码方式 编辑:程序博客网 时间:2024/05/14 01:03
题意:
给出每个位置奶牛高度,求出l,r这个区间段最高牛和最低的牛的差值
思路:
线段树维护最值
#include <stdio.h>#include <algorithm>#include <cstring>#include <iostream>using namespace std;const int maxn= 50005;const int inf=0x3f3f3f3f;int a[maxn];struct node{ int left,right,maxx,minn,num;}tree[4*maxn];void Build(int i,int left,int right){ tree[i].left=left,tree[i].right=right; if(left==right) { tree[i].num=a[ tree[i].left ]; tree[i].minn=tree[i].num; tree[i].maxx=tree[i].num; return ; } int mid=(tree[i].left+tree[i].right)>>1; Build(i<<1,left,mid); Build(i<<1|1,mid+1,right); tree[i].minn=min(tree[i<<1].minn,tree[i<<1|1].minn); tree[i].maxx=max(tree[i<<1].maxx,tree[i<<1|1].maxx); return ;}int ansmax,ansmin;void query(int i,int left,int right){ if(tree[i].right==right&&tree[i].left==left) { ansmax=max(ansmax,tree[i].maxx); ansmin=min(ansmin,tree[i].minn); return ; } int mid=(tree[i].left+tree[i].right)>>1; if(left>mid) { query(i<<1|1,left,right); } else if(right<=mid) { query(i<<1,left,right); } else { query(i<<1,left,mid); query(i<<1|1,mid+1,right); } return ;}int main(){ int n,q; scanf("%d%d",&n,&q); for(int i=1;i<=n;i++) scanf("%d",&a[i]); Build(1,1,n); while(q--) { int l,r; scanf("%d%d",&l,&r); ansmax=0,ansmin=inf; query(1,l,r); printf("%d\n",ansmax-ansmin); }}
0 0
- poj3264-Balanced Lineup(点更新,区间最值)
- POJ3264----区间最值Balanced Lineup
- POJ3264 Balanced Lineup(线段树,区间最值)
- POJ3264--点更新的线段树--RMQ--Balanced Lineup
- POJ3264 Balanced Lineup 【线段树】+【单点更新】
- POJ 3264 Balanced Lineup 线段树 单点更新 求区间最值
- POJ 3264 Balanced Lineup【简单线段树,区间最值,无更新】
- POJ3264 Balanced Lineup
- POJ3264:Balanced Lineup
- poj3264 - Balanced Lineup
- POJ3264 Balanced Lineup
- POJ3264:Balanced Lineup
- POJ3264 Balanced Lineup
- POJ3264-Balanced Lineup RMQ
- poj3264 Balanced Lineup
- [Poj3264][Bzoj1699]Balanced Lineup
- POJ3264 Balanced Lineup
- poj3264 Balanced Lineup
- Java指定保留小数位数
- Fortigate端口映射---保护服务器
- 内部类的深度认识
- AVL 树 学习概要
- 几种排序算法
- poj3264-Balanced Lineup(点更新,区间最值)
- OpwnWrt 路由器MWAN3多线多拨实现方法
- ACM 粗心永远AC不了系列——UVa 213 Message Decoding(World Finals1991,字符串) |二维数组的妙用
- Java Core 第9版 读书笔记(OOP) Part1
- bzoj 3572: [Hnoi2014]世界树 (虚树+树形DP+LCA)
- python开源IP代理池--IPProxys
- [几何] BZOJ 1132 [POI2008]Tro
- Servlet和JSP
- 内连接查询