文章分类 -  RMQ

摘要:使用nlogn的时间和空间进行预处理,A[i][j]储存的为从i开始的2^j个元素中的最值。代码未经编译,仅供参考class ST { public: ST(vector vals) : vals_(vals) { maxes_.resize(vals.size()); mines_.resize(vals.size()); } void Init() { int size = vals_.size(); for (int i = 0; i = size) break; int max = 0; int min = 0; ... 阅读全文
posted @ 2013-08-22 17:09 dmthinker 阅读(119) 评论(0) 推荐(0)
摘要:线段树保存当前节点的最大(小)值,未经编译,仅供参考#define MAX 0xfffffff#define MIN -0xfffffffstruct Node { Node():left_(NULL), right_(NULL), head_(0), tail_(0), min_(0), max_(0) {} Node* left_; Node* right_; int head_; int tail_; int min_; int max_;};class SegmentTree { public: SegmentTree(vector values) : root_(NU... 阅读全文
posted @ 2013-08-22 15:44 dmthinker 阅读(106) 评论(0) 推荐(0)