2011年10月14日

poj-3264 Balanced Lineup *

摘要: /* * 入门题 * RMQ Sparse-Table : O(nlgn) - O(1) * * 2000ms... * */#include <cstdio>using namespace std;const int maxN = 50000 + 10;const int maxK = 50;int height[maxN], n, q;//记录的是坐标int dMax[maxN][maxK], dMin[maxN][maxK];inline int max(int lhs, int rhs){ return (height[lhs] > height[rhs] ? lhs 阅读全文

posted @ 2011-10-14 23:09 龙豆 阅读(236) 评论(0) 推荐(0)

RMQ+1/-1算法 [转]

摘要: [转] http://blog.csdn.net/ljsspace/article/details/6659517 RMQ+1/-1问题要求数列中相邻两个元素相差+1或-1。利用这个限定条件可以使该算法复杂度总体上达到<O(n),O(1)>。具体做法是:1) 设数列A的大小为n,先对数列A分组,每组大小为b=1/2.logn (之所以这样分是为了将预处理复杂度从O(nlogn)降为O(n)),共分为n/b个组;以下第2到第4步完成RMQ+1/-1问题的预处理阶段(参考以下实现中的preprocess方法)。2)生成O(sqrt(n))个LU表P[][]和一个block类型数组T[] 阅读全文

posted @ 2011-10-14 22:08 龙豆 阅读(1460) 评论(0) 推荐(0)

导航