摘要: 线段树会用到的公式:将完全二叉树从左到右、从上到下依次编号,设当前结点编号为n左节点编号为:2*n 右节点编号为2*n+1把空节点的编号初始化为-1 线段树的本质其实是二叉搜索树啦,所以说可以很方便的解决区间最大最小、查询区间和、修改区间和的问题用数组表示线段树的话,如果本身... 阅读全文
posted @ 2016-11-05 23:04 Leo.Tan 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 树状数组的功能以O(log(N))的复杂度实现区间求和、单点修改以O(log(N))的复杂度实现单点查询、区间修改实现方法lowbit函数取出一个二进制数的最末尾1 例如:lowbit(10010100)=100int lowbit(int x) {return x & (-x);... 阅读全文
posted @ 2016-11-05 10:20 Leo.Tan 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的... 阅读全文
posted @ 2016-11-05 00:07 Leo.Tan 阅读(112) 评论(0) 推荐(0) 编辑