【RMQ问题】 poj 3264 Balanced Lineup
来源:互联网 发布:广州网络推广 编辑:程序博客网 时间:2024/06/06 03:25
<a target=_blank href="http://poj.org/problem?id=3264" target="_blank">http://poj.org/problem?id=3264</a>
裸的RMQ
/* poj 3264 RMQ问题 题意: 一群牛告诉你身高,查询某个区间身高差的最大值 思路: 比较水,用的ST算法*/#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<vector>#include<set>#include<map>#include<algorithm>#include<sstream>#define eps 1e-9#define pi acos(-1)#define long long ll#define M 10#define N 1010using namespace std;const int _max = 5e4 + 10;int d1[_max][20],d2[_max][20],a[_max];int minx,maxx,n,Q;void RMQ_init(){ for(int i = 0; i < n; ++ i) d1[i][0] = d2[i][0] = a[i]; for(int j = 1;(1<<j)<=n;++ j) for(int i = 0;i + (1<<j)-1 < n;++ i){ d1[i][j] = min(d1[i][j-1],d1[i+(1<<(j-1))][j-1]); d2[i][j] = max(d2[i][j-1],d2[i+(1<<(j-1))][j-1]); }}void RMQ(int L,int R){ if(L>R) return ; int k = 0; while((1<<(k+1))<= R-L+1)++k; minx = min(d1[L][k],d1[R-(1<<k)+1][k]); maxx = max(d2[L][k],d2[R-(1<<k)+1][k]);}int main(){ #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); #endif // ONLINE_JUDGE while(scanf("%d%d",&n,&Q) ==2){ for(int i = 0; i < n; ++ i) scanf("%d",a+i); RMQ_init(); int L,R; while(Q--){ scanf("%d%d",&L,&R); RMQ(L-1,R-1); printf("%d\n",maxx-minx); } } return 0;}
0 0
- POJ 3264 Balanced Lineup (RMQ问题)
- POJ 3264--Balanced Lineup(RMQ问题)
- 【RMQ问题】 poj 3264 Balanced Lineup
- Balanced Lineup poj 3264 RMQ问题
- Balanced Lineup+POJ+RMQ问题
- POJ 3264 Balanced Lineup(RMQ)
- POJ-3264 Balanced Lineup【RMQ】
- poj 3264 Balanced Lineup RMQ
- POJ 3264 Balanced Lineup [RMQ]
- 【RMQ】poj 3264 Balanced Lineup
- POJ 3264 Balanced Lineup (RMQ)
- POJ 3264 Balanced Lineup,RMQ
- POJ 3264 Balanced Lineup(RMQ)
- poj 3264 Balanced Lineup【RMQ】
- POJ-3264 Balanced Lineup【RMQ】
- POJ 3264 Balanced Lineup (RMQ)
- POJ 3264 Balanced Lineup (RMQ)
- 【POJ 3264】 Balanced Lineup (RMQ)
- 链表问题总结
- UI_SDWebImage的详细使用
- [Leetcode]Combinations
- 通过python获得主机系统信息151008
- 策略模式和工厂模式
- 【RMQ问题】 poj 3264 Balanced Lineup
- 【索引】索引五种扫描方式至索引全扫描
- Zabbix简介
- 【Java】 ArrayList与LinkedList的区别
- Android实现拨打电话的两种方式
- Atlassian核心产品串联
- React框架
- Zabbix特性
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList