#include<stdio.h> #include<iostream> #include<math.h> #include<string.h> using namespace std; const int MAXN=50050; int dpmax[MAXN][20]; int dpmin[MAX
分类:
其他好文 时间:
2016-03-12 21:05:28
阅读次数:
156
不带修改的二维求RMQ,二维线段树。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #define REP(i,a,b) for(int i=a;i<=b;i++
分类:
其他好文 时间:
2016-03-05 16:11:56
阅读次数:
221
Program Stone; var i,j,k,l,n,m,xmi,big,sma:longint; h:array[1..50000]of longint; tf:array[0..16]of longint; max,min:array[1..50000,0..16]of longint; f
分类:
其他好文 时间:
2016-03-02 22:06:01
阅读次数:
162
【POJ 3368】 Frequent values(RMQ)
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 15813
Accepted: 5749
Description
You are given a sequence of n integers...
分类:
其他好文 时间:
2016-02-29 12:58:05
阅读次数:
205
RMQ:范围最小值问题。给出一个n个元素的数组A1,A2,...,An,设计一个数据结构支持查询操作Query(L,R):计算min{AL,AL+1,...,AR}。 每次用一个循环来求最小值显然不够快快,前缀和的思想也不能提高效率,这时候ST算法就派上用场了,它预处理的时间是O(nlogn),但是
分类:
其他好文 时间:
2016-02-27 17:57:40
阅读次数:
158
A Magic Lamp 题意:不能改变数字序列的顺序,从n个数中删除m个,输出删除后最小的数;(m<n<=1000)输出忽略前导0; 分析:这道题其实数据范围可以达到1e6;看很多人的题解都是ST或者是RMQ,其实是一道单调栈的题;O(n)的算法。 简单讲讲单调栈的思想:要求的是删除后最小的,那么
分类:
其他好文 时间:
2016-02-15 22:37:54
阅读次数:
221
全部串起来做SA, 在按字典序排序的后缀中, 包含每个询问串必定是1段连续的区间, 对每个询问串s二分+RMQ求出包含s的区间. 然后就是求区间的不同的数的个数(经典问题), sort queries + BIT 就行了.时间复杂度O(N log N). 速度垫底了QAQ 你们都会SAM。。。。--
分类:
编程语言 时间:
2016-02-14 00:25:20
阅读次数:
350
LCA+RMQ。挺不错的一道题目。 思路是如何通过LCA维护费用。当加入新的点u是,费用增量为dis[u]-dis[lca(u, lower_u)] - dis[lca(u, greater_u)] + dis[lca(lower_u, greater_u)]。若beg[u]大于当前最大值或小于最小
分类:
其他好文 时间:
2016-02-05 18:35:21
阅读次数:
220
综合性很强的一道题目,结合manacher,后缀数组,哈希,RMQ,二分可解。基本思路是通过manacher可以找到所有可能的回文串,哈希去重,后缀数组二分找数目。最后暴力求解。需要注意kth需要为__int64。 1 /* 4426 */ 2 #include <iostream> 3 #incl
分类:
其他好文 时间:
2016-02-05 01:49:59
阅读次数:
177