转自:http://blog.csdn.net/lilongherolilong/article/details/6624390先挖好坑,明天该去郑轻找虐RMQ(Range Minimum/Maximum Query)问题是求区间最值问题。你当然可以写个O(n)的(怎么写都可以吧=_=),但是万一要...
分类:
编程语言 时间:
2015-04-18 21:45:17
阅读次数:
154
题意:给一个树编号0~n-1,一个数组a[i]为节点i在树上走的最大距离(不重复点),然后求最大的区间,使得区间最大差异小于某个值。dfs求出每个数组,同时区间化。枚举区间左边界,右边界同样递增,类似单调队列,区间最值用RMQ查询(常数小)。 1 #pragma comment(linker, "....
分类:
其他好文 时间:
2015-04-12 06:46:21
阅读次数:
188
线段树,大家一看就明白了吧,这题就是一模板题,我学zkw线段树用的。单点维护,区间最值。题目是tyvj的忠诚2.#include"iostream"#include"cstdio"using namespace std;int M;int T[10000000];int read(){ cha...
分类:
其他好文 时间:
2015-04-05 08:58:06
阅读次数:
114
已经不搞ACM了,就是最近随便做点题,就在这里存个代码 1 #include 2 #include 3 using namespace std; 4 const int maxn = 100005; 5 int a[maxn][20]; 6 int x[maxn]; 7 void i...
分类:
其他好文 时间:
2015-03-20 01:13:20
阅读次数:
167
Description现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则...
分类:
编程语言 时间:
2015-03-07 16:57:28
阅读次数:
169
RMQ问题就是区间最小值问题,这是一个非常经典的题,
由他引申出来的也是不计其数最多的是给出一个区间,然后输入多组区间端点,求输入区间的最小值。
每次用循环来计算一个最小值显然不够快,怎么办呢?
实践中最常用的是Tarjan的 Sparse-Table算法,它的预处理时间是O(nlogn),但是查询只需要O(1),而且常数很小。
它的思想很简单,就是递推+二分的思想。我们先定义一个二维数组...
分类:
其他好文 时间:
2015-03-01 18:35:50
阅读次数:
139
RMQ:(区间最值问题)
本质上是动态规划,用d(i, j) 表示 从 i 开始的长度为 2^j 的一段元素的最小值,则可以用递推的方法计算d(i, j) : d(i, j) = min{ d(i, j-1), d(i + 2^(j-1), j-1)}
由于2^j
#include
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2015-02-25 14:15:39
阅读次数:
144
题目链接:http://hihocoder.com/problemset/problem/1068我的代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define MAXN 1000005 8 9 in...
分类:
其他好文 时间:
2015-02-21 15:26:08
阅读次数:
215
题目地址:HDU 5172
比赛的时候用一个维护了区间和,区间积,区间最值的线段树水过去了。。赛后数据改回10^6后,就TLE了。。
正解是区间和用前缀和维护就可以。然后维护一个该位上的数上一个出现额位置,那么每次查询,如果每个数的上一个出现的位置都小于l的话,那么就说明没有重复的,如果区间和符合全排列的和,那么就说明肯定是一个全排列了。
代码如下:
#include
#include ...
分类:
其他好文 时间:
2015-02-11 16:37:51
阅读次数:
150
NOIP 2012 Day 2 借教室
Description
在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。
我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj, sj, tj,表示某租借者需要从第sj天到第tj天租借教室(包括第sj天和第tj天),每天需要租借dj个教室。...
分类:
其他好文 时间:
2015-02-07 17:34:31
阅读次数:
326