1 条题解
-
1
题目大意: q次询问,每次从第 a 到 第 b 头牛之中找出最高和最矮的。
思路
标准的RMQ问题,既需要求区间最大值,也要求最小值,使用两个ST表预处理区间的最大最小值即可
参考代码
int log2n = log2(n); for (int j = 1; j <= log2n; ++j) for (int i = 1; i <= n - (1 << j) + 1; ++i) { f[i][j] = max(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]); g[i][j] = min(g[i][j - 1], g[i + (1 << (j - 1))][j - 1]); }
- 1
信息
- ID
- 737
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 36
- 已通过
- 19
- 上传者