http://acm.xidian.edu.cn/problem.php?id=1010 可以把序列分为左右两部分,ab在左,cd在右,至于怎么找左右的最大差值,我用了rmq。 然后枚举两部分的中间位置就可以了。 ...
分类:
其他好文 时间:
2016-10-13 23:42:12
阅读次数:
132
182. [USACO Jan07] 均衡队形 ★★ 输入文件:lineup.in 输出文件:lineup.out 简单对比时间限制:4 s 内存限制:128 MB 题目描述 农夫约翰的 N (1 ≤ N ≤ 50,000) 头奶牛,每天挤奶时总会按同样的顺序站好。一日,农夫约翰决定为奶牛们举行一个 ...
分类:
其他好文 时间:
2016-10-10 01:42:53
阅读次数:
129
Frequent values Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17581 Accepted: 6346 Description You are given a sequence of n integers a1 ...
分类:
其他好文 时间:
2016-10-09 14:27:40
阅读次数:
143
题解: 将其中一边sort,然后另一边使用rmq_min.对于p[i],只要rmq_min(1,i-1)>=p[i].se即可 但是这有一个问题。忽略了sort的那条边相等的情况 这里提供2种处理方式 1.在判断p[i]时,添加一个判断 2.注意到题目有:The number will be non ...
分类:
其他好文 时间:
2016-10-07 07:40:04
阅读次数:
135
ST表 一、算法介绍 如何快速求解RMQ问题呢?暴力复杂度O(n),线段树复杂度O(n)~O(logn),要是数据规模达到10^7或者更高呢?我们需要一种可以做到O(1)查询的算法,这时就可以用到ST表。 我们用 f[i][j] 表示从 j 位置开始往右 2^i 个数内的最大值,用 g[i][j] ...
分类:
其他好文 时间:
2016-10-06 00:09:41
阅读次数:
165
题解: 这题可以rmq+二分做,也可以单调栈+线性扫 单调栈+线性扫: 对a[i],d[i]表示以a[i]为起点,大于a[i]的最长长度 例如 a 4 3 5 6 dis 1 3 2 1 然后对于每个dis,求出枚举最大值的位置。更新即可.. 关键是求dis.这里用到了单调栈的思想 rmq+二分做: ...
分类:
其他好文 时间:
2016-10-05 15:20:26
阅读次数:
148
题解: 二维RMQ中的ST算法的模板题 代码: ...
分类:
其他好文 时间:
2016-10-05 15:15:57
阅读次数:
140
题解: 可以当做是RMQ中的ST算法的模板题 代码: ...
分类:
其他好文 时间:
2016-10-05 07:05:54
阅读次数:
128
题目链接 给一个01矩阵, 然后每个询问给出两个坐标(x1, y1), (x2, y2)。 问你这个范围内的最大全1正方形的边长是多少。 我们dp算出以i, j为右下角的正方形边长最大值。 然后用二维st表预处理出所有的最大值。 对于每个询问, 我们二分一个值mid, 查询(x1 + mid -1, ...
分类:
其他好文 时间:
2016-10-04 11:54:39
阅读次数:
191