hdu 5443 ST表 简单求最大最小值
来源:互联网 发布:江苏电信网络测速 编辑:程序博客网 时间:2024/05/04 22:39
In Land waterless, water is a very limited resource. People always fight for the biggest source of water. Given a sequence of water sources with
Input
First you are given an integer
Output
For each query, output an integer representing the size of the biggest water source.
Sample Input
3
1
100
1
1 1
5
1 2 3 4 5
5
1 2
1 3
2 4
3 4
3 5
3
1 999999 1
4
1 1
1 2
2 3
3 3
Sample Output
100
2
3
4
4
5
1
999999
999999
1
求 l r的最大值
#include <bits/stdc++.h>using namespace std;int a[1100];int mx[1100][30];int n;void init(){ memset(mx,0,sizeof(mx)); for(int i=1;i<=n;i++) mx[i][0]=a[i]; int k=floor(log((double)n)/log(2.0)); for(int i=1;i<=k;i++) { for(int j=n;j>=1;j--) { if(j+(1<<(i-1))<=n) { mx[j][i]=max(mx[j][i-1],mx[j+(1<<(i-1))][i-1]); } } }}int rmq(int i,int j){ int k=floor(log((double)(j-i+1))/log(2.0)); int maxx=max(mx[i][k],mx[j-(1<<k)+1][k]); return maxx;}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); init(); int m; scanf("%d",&m); while(m--) { int c,d; scanf("%d%d",&c,&d); printf("%d\n",rmq(c,d) ); } }}
- hdu 5443 ST表 简单求最大最小值
- ST表求区间最大最小值
- poj--3264Balanced Lineup+ST算法求区间最大最小值
- st函数--区间最大最小值
- POJ 3264 ST表(RMQ问题:查询区间最大最小值)
- 分组求最大最小值
- 求最大最小值
- 求最大最小值
- 数组求最大最小值
- 二分法求最大最小值
- 同时求最大最小值
- RMQ-ST:多次查找最大最小值
- 最大最小值(ST基础版)
- 求整型数组最大最小值
- 求最大最小值(转)
- 二分法求数组最大最小值
- [js]求数组最大最小值
- 分治法求最大最小值
- angularjs学习笔记01--ng-view和路由的使用
- 枚举类详解
- RabbitMQ安装 配置
- 设计模式 单例模式
- 学习初计划
- hdu 5443 ST表 简单求最大最小值
- 对消失矩的理解
- 网络编程
- 【Swift】 Collections初识
- 对于大日志分割的几种方法
- Ubuntu磁盘空间不足如何清理boot分区
- LeetCode【472】 Concatenated Words
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 6
- 什么是XML