POJ 3264 Balanced Lineup(线段树水题)
来源:互联网 发布:兄弟连it教育怎么样 编辑:程序博客网 时间:2024/05/18 16:40
大概题意是查询区间内的最大值和最小值的差是多少....也算是区间内最大的差?都一样...很简单 都不用更新只有查询的水题.....我觉得肯定有其他办法....
#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;struct node{ int l,r,maxi,mini;}data[300000];int maxm,minm;void build(int l,int r,int k){ data[k].l=l; data[k].r=r; if(l==r) { scanf("%d",&data[k].maxi); data[k].mini=data[k].maxi; return ; } int mid=(l+r)/2; build(l,mid,k*2); build(mid+1,r,k*2+1); data[k].maxi=max(data[k*2].maxi,data[k*2+1].maxi); data[k].mini=min(data[k*2].mini,data[k*2+1].mini);}void query(int l,int r,int k){ if(data[k].l==l&&data[k].r==r) { maxm=max(maxm,data[k].maxi); minm=min(minm,data[k].mini); return ; } int mid=(data[k].l+data[k].r)/2; if(r<=mid) query(l,r,k*2); else if(l>=mid+1) query(l,r,k*2+1); else { query(l,mid,k*2); query(mid+1,r,k*2+1); }}int main(){ int n,q,a,b; while(cin>>n>>q) { build(1,n,1); for(int i=0;i<q;i++) { scanf("%d %d",&a,&b); maxm=-10000000,minm=10000000; query(a,b,1); printf("%d\n",maxm-minm); } } return 0;}
0 0
- 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(线段树无区)
- 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 线段树
- 海量Web日志分析 用Hadoop提取KPI统计指标
- 初学Linux
- Hibernate组件映射配置
- QQ空间自动评论自动转发 微博自动自动转发神器带源码(超简单) 升级版
- Event Loop
- POJ 3264 Balanced Lineup(线段树水题)
- 【Unity】理解协程的原理1——实现一个自己的WaitForSeconds
- Android——数据存储之SQLite数据库
- C#生成缩略图不失真的方法
- [历年IT面试题]百度2014研发类校园招聘笔试题解答
- github上搭建静态博客
- 如何设置eclipse下查看java源码
- struts2 拦截器
- 欢迎使用CSDN-markdown编辑器