思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了。然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了。然后看题解,里面都是用RMQ先预处理随意两个后缀的最长公共前缀,由于不太知道这个,所以又看了一下午,嘛嘛...
分类:
编程语言 时间:
2015-03-12 15:00:22
阅读次数:
261
Description
You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1
≤ i ≤ j ≤ n). Fo...
分类:
其他好文 时间:
2015-03-11 00:44:27
阅读次数:
145
#1068 : RMQ-ST算法
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
小Hi和小Ho在美国旅行了相当长的一段时间之后,终于准备要回国啦!而在回国之前,他们准备去超市采购一些当地特产——比如汉堡(大雾)之类的回国。
但等到了超市之后,小Hi和小Ho发现者超市拥有的商品种类实在太多了——他们实在看不过来了!于...
分类:
编程语言 时间:
2015-03-10 19:31:04
阅读次数:
173
题意: 输入一个串,输出里面最长的回文子串。
做法:后缀数组 比如 输入abc 。 那构造串 abc#cba。 然后用后缀数组模版。 初始化RMQ后,枚举任意一个在#前面的点,奇回文和偶回文都各自考虑下,
用lcp,找出后缀i,j的最长公共前缀。得到的最大的就是最长回文子串了。...
分类:
编程语言 时间:
2015-03-07 21:24:05
阅读次数:
276
#include#include#includeusing namespace std;const int maxa = 50005;int rmp_max[maxa][100];int rmp_min[maxa][100];int log(int n){ int cnt = 0; while(n)...
分类:
其他好文 时间:
2015-03-06 17:01:03
阅读次数:
151
线段树 这是一道线段树的裸题……带单点修改的RMQ 为什么我会想到写这么一道傻逼题呢?是因为这样…… 我很好奇那个突然冒出来的黄色箭头是什么……所以就去切了一下这道水题…… 毫无压力地快速敲完……突然萌生了一种想法:试试自底向上线段树! 重新看了下zkw大牛的《统计的力量》,发现确实好...
分类:
其他好文 时间:
2015-03-06 10:32:16
阅读次数:
126
codeforces #292(div 1)ABC详细题解+代码~...
分类:
其他好文 时间:
2015-03-06 10:07:59
阅读次数:
171
题目链接:点击打开链接
题意:给定n m k
下面是n*m的矩阵
最多可以操作k次,每次操作可以使任意一列上所有的数 -= 1,( 0还是0)
要求得到连续最多的行数(每行里的整数都为0),输出任意一个方案(在每一列上操作的次数)
思路:
把每列单独考虑
枚举每行,二分找这行往下最多能清空的行数,
RMQ维护一列的最大值。
import java.io.BufferedR...
分类:
其他好文 时间:
2015-03-01 23:51:56
阅读次数:
407
RMQ问题就是区间最小值问题,这是一个非常经典的题,
由他引申出来的也是不计其数最多的是给出一个区间,然后输入多组区间端点,求输入区间的最小值。
每次用循环来计算一个最小值显然不够快,怎么办呢?
实践中最常用的是Tarjan的 Sparse-Table算法,它的预处理时间是O(nlogn),但是查询只需要O(1),而且常数很小。
它的思想很简单,就是递推+二分的思想。我们先定义一个二维数组...
分类:
其他好文 时间:
2015-03-01 18:35:50
阅读次数:
139
原理讲解:http://dongxicheng.org/structure/lca-rmq/
在线算法模板:
/**
LCA在线算法O(nlogn)
主函数调用:
init();
tot=0,dir[1]=0;
dfs(1,1);
ST(2*n-1);
int lca=LCA(u,v);
*/
#include
#include
#include
#include
#inclu...
分类:
编程语言 时间:
2015-03-01 18:33:50
阅读次数:
168