[NWPU][2014][TRN][13]线段树第一讲 B - 基础 POJ 3264
来源:互联网 发布:医疗大数据应用案例 编辑:程序博客网 时间:2024/05/29 15:28
#include<iostream>#include<cstdio>using namespace std;const int MAXN = 50005;int h[50005], MAX, MIN;struct node{ int l, r; int MAX, MIN;}tree[MAXN * 4];void build(int p, int l, int r){ tree[p].l = l; tree[p].r = r; if(l ==r) {tree[p].MAX = tree[p].MIN = h[l]; return ; } int mid = (l + r) / 2; build(p * 2, l, mid); build(p * 2 + 1, mid + 1, r); //tree[p] = tree[p * 2] + tree[p * 2 + 1]; tree[p].MAX = max(tree[p * 2].MAX, tree[p * 2 + 1].MAX); tree[p].MIN = min(tree[p * 2].MIN, tree[p * 2 + 1].MIN );}void find(int l, int r, int p){ if(tree[p].l == l && tree[p].r == r) { MAX = max(MAX, tree[p].MAX); MIN = min(MIN, tree[p].MIN); return ; } int mid = (tree[p].r + tree[p].l) / 2; if(mid >= r) find(l, r, p * 2); else if(mid < l) find(l, r, p * 2 + 1); else { find(l, mid, p * 2); find(mid + 1, r, p * 2 + 1); }}int main(){ int n, p; //cin >> n >> p; scanf("%d%d", &n, &p); for(int i = 1; i <= n; i++) { //cin >> h[i]; scanf("%d", &h[i]); } build(1, 1, n); int x, y; while(p--) { //cin >> x >> y; scanf("%d%d", &x, &y); MAX = -0xfffff; MIN = 0xfffff; find(x, y, 1); //cout << MAX - MIN << endl; printf("%d\n", MAX - MIN); } return 0;}
0 0
- [NWPU][2014][TRN][13]线段树第一讲 B - 基础 POJ 3264
- [NWPU][2014][TRN][13]线段树第一讲 A - 基础 POJ 2352
- [NWPU][2014][TRN][17]最小生成树 B - 基础 POJ 2421
- [NWPU][2014][TRN][6]动态规划第一讲——简单线性dp_A题
- [NWPU][2014][TRN][6]动态规划第一讲——简单线性dp_B题
- [NWPU][2014][TRN][6]动态规划第一讲——简单线性dp_C题
- [NWPU][2014][TRN][6]动态规划第一讲——简单线性dp-D题
- [NWPU][2014][TRN][21]数论入门 B - 扩展欧几里得 POJ 1061
- 7.12 [NWPU][2014][TRN][3]搜索 POJ 1562 H - 深搜/广搜 基础
- 7-12 [NWPU][2014][TRN][3]搜索 D - 广搜 基础 POJ 1915
- [NWPU][2014][TRN][5]二分和贪心 M - 贪心 基础 POJ 2709
- [NWPU][2014][TRN][22]RMQ和LCA C - RMQ POJ 3264
- 7.12 [NWPU][2014][TRN][4]搜索 C - 广搜 基础
- [NWPU][2014][TRN][16]图论拓扑排序 H - 基础
- [NWPU][2014][TRN][3]搜索 总结
- [NWPU][2014][TRN][12]并查集D - A Bug's Life POJ 2492
- [NWPU][2014][TRN][18]最短路问题 A - 模板 POJ 2387
- [NWPU][2014][TRN][22]RMQ和LCA E - LCA POJ 1470
- typedef struct
- Implement strStr()
- 求和为s的连续正数序列
- HDOJ 题目1439Cipher(置换群)
- jsp加载文件夹下所有js文件
- [NWPU][2014][TRN][13]线段树第一讲 B - 基础 POJ 3264
- Cocos2d-x入门实战(-)
- java缓存2
- 【TOJ 3585】Covering the Corral【贪心】
- Palindrome Number
- Matlab基础学习-----数据显示格式(设置)
- hdu4272 LianLianKan (暴搜)
- 2014.9.6 关于js里for in,引用和js面向对象的应用
- [NWPU][2014][TRN][16]图论拓扑排序 E - 基础 HDU 1285