【题目链接:NYOJ-119】 思路:转自 点我 ,讲的挺好。 1 #include 2 #include 3 #define max(a,b) ((a>b)?a:b) 4 #define min(a,b) (a<b?a:b) 5 const int maxn=100010; 6 int h[...
分类:
其他好文 时间:
2015-05-07 00:42:26
阅读次数:
173
分析:
1、贪心,对数组进行扫描,如果a[i]>a[i+1]则把a[i]删除,直到删除m个为止;如果扫描一遍后删除的数不够m个,则在把数组末尾的数删除,直到总的删够m个,数组中剩下的数从头到尾即为结果。
2、RMQ算法解决,假设数组的长度为len,要删除的数的个数为m,那么最终数组中将剩下len-m个,因此可以找出数组中第一个到第m+1个的最小数作为最终结果的第一位,并假设最小数下标为i,再找...
分类:
编程语言 时间:
2015-05-04 13:51:02
阅读次数:
182
RMQ with Shifts时间限制:1000ms | 内存限制:65535KB难度:3描述In the traditional RMQ (Range Minimum Query) problem, we have a static array A. Then for each query (L,...
分类:
其他好文 时间:
2015-05-03 22:00:04
阅读次数:
104
复习了一下线段树,才发现线段树还是做的太少了,好多都忘了
线段树主要有以下功能:RMQ,区间总和查询,单点更新,区间更新
都忘了区间更新时要延迟更新了,这里一开始WA了。
再说说这题的思路:
把每个点作为矩形的左下角,画出所有矩形,以被矩形覆盖次数最多的区域中的任一点作为矩形的右上角,即为我们要求的矩形。
也就是说,我们要求的是被矩形覆盖次数最多的次数,这样用扫描线就可以解决,但直接扫描...
分类:
其他好文 时间:
2015-05-03 09:23:31
阅读次数:
173
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j#include #include #include using namespace std;const int N = 10e6+1.....
分类:
编程语言 时间:
2015-05-03 00:45:00
阅读次数:
183
#include
#include
#include
#include
#include
using namespace std;
#define maxn 1000000 + 10
#define Lson L, mid, root<<1
#define Rson mid+1, R, root<<1|1
#define INF 0x7ffffff
int Min[maxn<<2],...
分类:
其他好文 时间:
2015-05-02 20:47:23
阅读次数:
125
很显然n方的复杂度过不了。于是考虑优化最值的查询,可以考虑用堆或者单调队列来做。堆: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int INF = 99999999; 8 con...
分类:
其他好文 时间:
2015-05-01 18:42:10
阅读次数:
134
题目链接:NYOJ 116 士兵杀敌(二)
这一个是线段树的入门级水题,本题要求我们给出某个区间的区间和。这个问题和线段树的单点更新还是基本一致的。只要把单点更新中的值覆盖变为值得叠加,这一题便可以轻松解决了。如果不知道线段树的单点更新,请移步:传送门
【代码如下】...
分类:
其他好文 时间:
2015-04-30 09:01:59
阅读次数:
182
题目链接:http://poj.org/problem?id=3264
题目大意:n个数,求区间[ L,R ]的最大最小值之差;
题目分析:
RQM:dp[ i ][ j ], i开始长度为2^j的长度的区间最值;
O(nlog n)的预处理区间值,O(1)的查询;
代码:
//author: ACsorry
//result: accept
#include
#inclu...
分类:
其他好文 时间:
2015-04-28 22:56:11
阅读次数:
156
【概念】 转载连接:树状数组 讲的挺好。这两题非常的相似,查询区间的累加和、更新结点。Add(x,d) 与 Query(L,R) 的操作【题目链接:candy】 唉,也是现在才发现这题用了这个知识,当初A的第一个数据结构的题就是关于树状数组的,忘了忘了。。 Problem C: candyT...
分类:
编程语言 时间:
2015-04-28 15:35:30
阅读次数:
133