poj 3264(线段树) http://poj.org/problem?id=3264 初学线段可以做的水题,也是线段树的基础运用。也是我的第一个线段树的题。 题意:在区间范围内的最大值减去最小值 思路:线段树记录下每个区间内的最大值以及最小值,然后查询。 我也是第一次做,然后耗时比较多。 1#include <stdio.h>2#include <string.h>...
初学线段树(poj3264+poj2777) 线段树是用来对一堆数据处理的树结构,它的核心思想是二分(一般都用递归实现)。 树里需要存的是区间的左右,还有就是看题目需要了 二叉树特性:1:左子树编号是父树的2倍,右子树是父树的2倍加一 。 2:左子树l是父树的l,左子树的r是父树的(l+r)/2;右子树的l是父树的(l+r...
线段树太弱了,题目逼格一高连代码都读不懂,今天开始重刷线段树,每天一题,风格用kuangbin大神和以前的,两种都写一遍 2015-05-18:擦,太水了,当年居然这种题都做不出来 RMQ做法:poj3264 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #definelson ...
const int N = 50010 << 2; int n, q; int val[N], Min[N], Max[N]; void PushUp(int u) { Max[u] = max(Max[u << 1], Max[u << 1 | 1]); Min[u] = min(Min[u << 1], Min[u << 1 | 1]); } void build(int u, int l, int r) { if (l == r) { Max[u...
POJ3264——Balanced Lineup(线段树) 子节点#include 本文出自:javascript:void(0) 题意:在1~200,000个数中。取一段区间。然后在区间中找出最大的数和最小的数字。求这两个数字的差。 分析:按区间取值,非常明显使用的线段树。 区间大小取200000 * 4 = 8 * 10 ^5;...
poj3264_线段树 昨晚写了一个线段树的程序,各种bug,最后硬是AC了,这个题的大意是这样的: 给n个数字,然后在给出一些区间范围(s,e),求出在这个区间范围内的最大值和最小值,总结一下这个题,我一共有5个bug 1.建立线段树时,类似完全二叉树,一开始我开的数组是最大数字个数的2倍多一点,然后开始悲剧,每当...
(4)RMQ. (poj3264,poj3368)(5)并查集的高级应用. (poj1703,2492)(6)KMP算法. (poj1961,poj2406)...
poj3422双连通分量poj2942,poj3694强连通分支及其缩点poj2186,poj3592,poj3114图的割边和割点poj3352最小割模型poj3308,poj3155(偏难)数据结构线段树第3周poj2528,poj2777,poj2828, poj2886,poj2750,poj3468,poj3667,poj3368平衡树(Treap、Splay)poj2482,poj2352,poj2892树状树组poj1195,poj3321RMQpoj3264,poj...
POJ——3264线段树 题目: 输入两个数(m,n),m表示牛的头数,n表示查询的个数。 查询时输入两个数(x,y),表示查询范围的起始值和终止值,查询结果是,这个区间内牛重量的最大值减去牛重量的最小值,数量级为1000,000 设计每次查询的复杂度为logm。 例如,...