POJ 3264 Balanced Lineup
来源:互联网 发布:腾讯云 centos 7 pptp 编辑:程序博客网 时间:2024/06/02 03:55
题目大意
就是给你奶牛的高度,并且站成一排,让你统计每一段奶牛中最高奶牛与最低奶牛的高度之差。
题目分析
用线段树维护区间最大值和最小值
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int maxn = 50005;const int INF = 0x3f3f3f3f;#define mid (L+R)/2#define lson o<<1,L,mid#define rson o<<1|1,mid+1,Rint maxv[maxn<<2],minv[maxn<<2];int a[maxn],Max,Min;void pushup(int o){ maxv[o] = max(maxv[o<<1], maxv[o<<1|1]); minv[o] = min(minv[o<<1], minv[o<<1|1]);}void build(int o,int L,int R){ if(L == R) { maxv[o] = minv[o] = a[L]; return ; } build(lson); build(rson); pushup(o);}void query(int o,int L,int R,int l,int r){ if(l <= L && R <= r) { Max = max(Max, maxv[o]); Min = min(Min, minv[o]); return ; } if(l <= mid) query(lson, l, r); if(r > mid) query(rson, l ,r);}int main(){ int N,Q; while(scanf("%d%d", &N, &Q) != EOF) { for(int i = 1; i <= N; i++) scanf("%d", &a[i]); build(1, 1, N); while(Q--) { int x,y; Max = -INF; Min = INF; scanf("%d %d", &x, &y); query(1, 1, N, x, y); printf("%d\n", Max - Min); } } return 0;}
0 0
- 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
- 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
- python 二维码实现
- qt的一些基础知识
- ZigZag Conversion
- CocoaPods pod install/pod update更新慢的问题
- 一个矩阵中最大的二维矩阵(元素和最大)
- POJ 3264 Balanced Lineup
- istudy学生端项目的总结(一)
- Android AndroidStudio JSR/RET are not supported with computeFrames option
- Length of Last Word(easy)
- CODEVS 1258 关路灯
- python:从excel中读出接口协议,将部分响应结果写入另一个excel文件
- Android 系统服务一览表
- RabbitMQ (一)第一个hello world
- GBDT(MART) 迭代决策树入门教程 | 简介