Balanced Lineup POJ
来源:互联网 发布:数据库闩定 编辑:程序博客网 时间:2024/06/02 02:23
链接:http://poj.org/problem?id=3264
题意:n个牛m个操作,问你第[i, j]之间最高的牛和最低的牛的高度差是多少
解题思路: 保存最大值最小值就可以了, 模板稍微改改就可以
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <math.h>#define LL long long#define lson ins<<1#define rson ins<<1|1#define mid (l+r)/2const int Max = 51000;using namespace std;struct node { int l, r; int sum, max1, min1, lazy;} tree[Max << 2];int data[Max << 2];void push_up(int ins) { tree[ins].max1 = max(tree[lson].max1, tree[rson].max1); tree[ins].min1 = min(tree[lson].min1, tree[rson].min1);}void build(int l, int r, int ins) { tree[ins].l = l, tree[ins].r = r, tree[ins].sum = tree[ins].max1 = tree[ins].min1 = 0; if (l == r) { tree[ins].min1 = tree[ins].max1 = data[l]; } else { build(l, mid, lson); build(mid + 1, r, rson); push_up(ins); }}int ans1, ans2;void query(int ql, int qr, int ins) { int l = tree[ins].l, r = tree[ins].r; if (l >= ql && r <= qr) { ans1 = max(ans1, tree[ins].max1); ans2 = min(ans2, tree[ins].min1); } else { if (ql <= mid)query(ql, qr, lson); if (qr > mid)query(ql, qr, rson); }}int main() { int n, m; while (~scanf("%d%d", &n, &m)) { for (int a = 1; a <= n; a++) { scanf("%d", &data[a]); } build(1, n, 1); for (int a = 1; a <= m; a++) { int i, j; ans1 = 0; ans2 = (int) 1e9; scanf("%d%d", &i, &j); query(i, j, 1); printf("%d\n", ans1 - ans2); } } 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 3246 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
- Css中的一些疑问
- 初步了解CC概念---20170803
- LINUX 学习第5天 一些补充
- AAPT err(Facade for 928882516): libpng error: Not a PNG file 问题解决
- Android开发探索---读后笔记(第二章)
- Balanced Lineup POJ
- vold挂载管理
- 根据IP获取IP所在城市PHP
- 最近 搞定这5篇 java相关
- LINUX 学习第6天 samba
- 常用汇编指令集合
- dubbo初级使用方法、配置文件及zookepper安装
- 数据库——SQLite---->Java篇
- PAT_1065. A+B and C