LightOJ 1082 Array Queries RMQ
来源:互联网 发布:预算大师软件 编辑:程序博客网 时间:2024/06/05 09:36
题目:http://www.lightoj.com/volume_showproblem.php?problem=1082
题意:给定一个数组,查询给定区间内的最小值
思路:RMQ模板题
#include <iostream>#include <algorithm>#include <cstdio>#include <queue>#include <map>#include <vector>#include <cstring>#include <cmath>#include <set>using namespace std;const int N = 100100;int dp[20][N], arr[N];int cas;void ST(int n){ for(int i = 1; i <= n; i++) dp[0][i] = arr[i]; for(int i = 1; (1<<i) <= n; i++) for(int j = 1; j <= n - (1<<i) + 1; j++) dp[i][j] = min(dp[i-1][j], dp[i-1][j+(1<<(i-1))]);}int RMQ(int l, int r){ int k = log2(r - l + 1); return min(dp[k][l], dp[k][r-(1<<k)+1]);}int main(){ int t, n, m, a, b; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) scanf("%d", arr + i); ST(n); printf("Case %d:\n", ++cas); for(int i = 0; i < m; i++) { scanf("%d%d", &a, &b); printf("%d\n", RMQ(a, b)); } } return 0;}
0 0
- LightOJ - 1082 Array Queries(RMQ)
- LightOJ 1082 Array Queries RMQ
- lightOJ 1082 Array Queries
- Light oj 1082 - Array Queries 【RMQ 裸题】
- Light OJ 1082 Array Queries 【RMQ裸题】
- LightOJ 1082 - Array Queries【线段树最值】
- LightOJ 1100 - Again Array Queries
- LightOJ - 1081 Square Queries(二维RMQ)
- lightoj 1081 - Square Queries(二维RMQ)
- LightOJ Array Queries 1082【线段树求区间最值】
- lightOJ 1082 - Array Queries 【线段树(求最小值)】
- 题号未知 , Array Queries 【RMQ】
- lightoj 1100 - Again Array Queries 【思维题】
- Lightoj 1100 - Again Array Queries (枚举剪枝)
- Lightoj 1082【RMQ】
- 1188 - Fast Queries Lightoj
- lightoj 1369 - Answering Queries
- lightoj 1369 Answering Queries
- Apache中Httpd.conf详解(一)
- 恒星的分类
- DialogFragment对话框(一) ——创建对话框
- zookeeper笔记
- dubbo控制台的安装
- LightOJ 1082 Array Queries RMQ
- Redis 字符串(String)
- 六.swift - 函数
- 数据结构上机测试1:顺序表的应用 7.24补
- SharedPreferences使用
- jquery的lazyload.js实现图片的懒加载
- 强大的vim配置文件,让编程更随意
- iOS新特性实现3DTouch开发
- 实现字符串的逆序