题目链接:hdu 4123 Bob’s Race
题目大意:一个城镇有N个住户,N-1条路连接两个住户,保证N个住户联通,M次询问,给定N条边的信息,包括连
接的住户序号以及路的长度。然后是M次询问,每次询问Q,要求找到最长的连续序号,使得Max(dis[i]) - Min(dis[i]) ≤
Q(l≤i≤r),输出最大的r-l+1。dis[i]为从第i个住户出发,不重复走过路...
分类:
其他好文 时间:
2014-10-28 17:58:39
阅读次数:
204
题目链接:hdu 2888 Check Corners
题目大意:给定一个矩阵,每次查询矩阵中的最大值,并且判断该最大值是否在所查询的角落上。
解题思路:一开始用线段树,一维RMQ都超时了,然后换成了二维的RMQ,结果MLE,dp数组换成9?9就过了。
#include
#include
#include
using namespace std;
const int maxn...
分类:
其他好文 时间:
2014-10-27 21:24:04
阅读次数:
235
题目链接:hdu 3183 A Magic Lamp
题目大意:给定一个字符串,然后最多删除K个,使得剩下的组成的数值最小。
解题思路:问题等价与取N-M个数,每次取的时候保证后面能取的个数足够,并且取的数最小,查询最小的操作用RMQ优化。
#include
#include
#include
using namespace std;
const int maxn = 10...
分类:
其他好文 时间:
2014-10-27 21:17:07
阅读次数:
208
1. 概述
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。
2.RMQ算法
对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大...
分类:
其他好文 时间:
2014-10-25 21:36:10
阅读次数:
218
后缀数组+RMQ是O(nlogn)的,会TLE.....标准解法好像是马拉车,O(n).... 1 #include "algorithm" 2 #include "cstdio" 3 #include "cstring" 4 using namespace std; 5 #define ...
分类:
其他好文 时间:
2014-10-25 18:44:09
阅读次数:
212
题目大意:将一个非负整数序列切成连续的若干段,使得每一段的和均不超过一定值,在此基础上最小化每一段的最大值的和。
思路:O(N2)的动态规划方程非常明显:
fi=min0≤ji{fj+maxj+1≤k≤i{wk}}
这样利用RMQ的预处理即可做到O(N^2).
不过这样显然是不能AC的。
我们考虑能够进行什么优化。
我们发现以下性质:
(1)fi≤fj(1≤ij≤...
分类:
其他好文 时间:
2014-10-25 09:23:08
阅读次数:
119
Frequent valuesTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1146Accepted Submission(s): 415Prob...
分类:
其他好文 时间:
2014-10-23 15:56:01
阅读次数:
227
CornfieldsTime Limit:1000MSMemory Limit:30000KTotal Submissions:5516Accepted:2714DescriptionFJ has decided to grow his own corn hybrid in order to hel...
分类:
其他好文 时间:
2014-10-23 15:51:54
阅读次数:
303
第一题:题目大意:N个发射站排成一排,求每个发射站左右第一个比它高的发射站。 N<=1000000解题过程:1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正好派上用场。。。虽然本题2s的时限RMQ+二分应该也不会超时,但是容易写错。而单调栈不仅O(N)的复杂度,写起来也...
分类:
其他好文 时间:
2014-10-22 20:20:02
阅读次数:
141
士兵杀敌(三)
时间限制:2000 ms | 内存限制:65535 KB
难度:5
描述
南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。
所以,南将军经常问军师小工第i号士兵到第j号...
分类:
其他好文 时间:
2014-10-21 07:48:50
阅读次数:
122