poj 3264 Balanced Lineup(线段树)
来源:互联网 发布:steam淘宝充值卡便宜 编辑:程序博客网 时间:2024/06/02 06:18
#include<stdio.h>#define MAX_N 50000+16#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define min(x,y) ((x>y)?(y):(x))#define max(x,y) ((x>y)?(x):(y))#define INF 0x3f3f3f3fint N,Q;int t1[MAX_N<<2],d[MAX_N],t2[MAX_N<<2];void build(int l,int r,int rt){int m;if(l==r){scanf("%d",&t1[rt]);t2[rt]=t1[rt];return ;}m=(l+r)>>1;build(lson);build(rson); t1[rt]=min(t1[rt<<1],t1[rt<<1|1]);t2[rt]=max(t2[rt<<1],t2[rt<<1|1]);}int query1(int a,int b,int l,int r,int rt){int res,res1,res2,m;if(a<=l&&r<=b){return t1[rt];}if(b<l||a>r)return INF;m=(l+r)>>1;res1=query1(a,b,lson);res2=query1(a,b,rson);res=min(res1,res2);return res;}int query2(int a,int b,int l,int r,int rt){int res,res1,res2,m;if(a<=l&&r<=b){return t2[rt];}if(b<l||a>r)return 0;m=(l+r)>>1;res1=query2(a,b,lson);res2=query2(a,b,rson);res=max(res1,res2);return res;}int main(){int i,a,b;scanf("%d%d",&N,&Q);build(1,N,1);for(i=1;i<=Q;i++){scanf("%d%d",&a,&b);printf("%d\n",query2(a,b,1,N,1)-query1(a,b,1,N,1));}}
0 0
- poj 3264 Balanced Lineup rmq/线段树
- POJ 3264 Balanced Lineup RMQ / 线段树
- POJ 3264 Balanced Lineup 线段树基础
- poj 3264 Balanced Lineup[线段树,,水]
- 【线段树】 POJ 3264 Balanced Lineup
- poj 3264 Balanced Lineup 基础线段树
- poj 3264 Balanced Lineup(线段树)
- POJ 3264 Balanced Lineup 线段树
- Poj 3264 Balanced Lineup - 线段树
- POJ 3264 - Balanced Lineup(线段树)
- POJ 3264 Balanced Lineup (RMQ线段树)
- POJ 3264 Balanced Lineup 线段树RMQ
- [线段树] POJ 3264 balanced lineup
- poj 3264 Balanced Lineup 线段树
- POJ 3264 Balanced Lineup //简单线段树
- poj 3264 Balanced Lineup(线段树)
- POJ 3264 Balanced Lineup( 线段树&&RMQ )
- POJ 3264 Balanced Lineup 线段树
- USACO 3.1 Agri-Net 最短网络 (最小生成树)
- L0,L1,L2
- Java线程(十一):Fork/Join-Java并行计算框架
- 多态(二)--例子
- Shell脚本问题详解
- poj 3264 Balanced Lineup(线段树)
- wget 命令用法详解
- 复杂链表的复制
- C++—— cin输入流详解
- [BZOJ4455][Zjoi2016]小星星(容斥原理+树形dp)
- ccccleve_1总结 注意理解题意
- Javaweb分页技术实现
- LeetCode
- 输出各个重连通分量的边