【线段树】HDU 5443 The Water Problem
来源:互联网 发布:win10 php环境搭建 编辑:程序博客网 时间:2024/05/09 07:15
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5443
题目大意:
T组数据。n个值,m个询问,求区间l到r里的最大值。(n,m<=1000)
题目思路:
【线段树】
线段树裸题。求区间最大值。
////by coolxxx//#include<iostream>#include<algorithm>#include<string>#include<iomanip>#include<memory.h>#include<time.h>#include<stdio.h>#include<stdlib.h>#include<string.h>//#include<stdbool.h>#include<math.h>#define min(a,b) ((a)<(b)?(a):(b))#define max(a,b) ((a)>(b)?(a):(b))#define abs(a) ((a)>0?(a):(-(a)))#define lowbit(a) (a&(-a))#define sqr(a) ((a)*(a))#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))#define eps (1e-8)#define J 10000000#define MAX 0x7f7f7f7f#define PI 3.1415926535897#define N 1004using namespace std;typedef long long LL;int cas,cass;int n,m,lll,ans;int t[N<<2];void change(int l,int r,int a,int k,int x){if(a>r || a<l || l>r)return;if(l==r && l==a){t[k]=x;return;}change(l,(l+r)/2,a,k+k,x);change((l+r)/2+1,r,a,k+k+1,x);t[k]=max(t[k+k],t[k+k+1]);}int query(int l,int r,int a,int b,int k){if(l>r || l>b || r<a)return 0;if(a<=l && r<=b)return t[k];int mid=(l+r)/2,x1,x2;x1=query(l,mid,a,b,k+k);x2=query(mid+1,r,a,b,k+k+1);return max(x1,x2);}int main(){#ifndef ONLINE_JUDGE//freopen("1.txt","r",stdin);//freopen("2.txt","w",stdout);#endifint i,j,l,r,x;for(scanf("%d",&cas);cas;cas--)//for(scanf("%d",&cas),cass=1;cass<=cas;cass++)//while(~scanf("%s",s))//while(~scanf("%d",&n)){memset(t,0,sizeof(t));scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&x);change(1,n,i,1,x);}scanf("%d",&m);for(i=1;i<=m;i++){scanf("%d%d",&l,&r);printf("%d\n",query(1,n,l,r,1));}}return 0;}/*////*/
0 0
- HDU 5443The Water Problem 线段树
- 【线段树】HDU 5443 The Water Problem
- HDU 5443 The Water Problem(线段树水题)
- hdu-5443-The Water Problem -裸的RMQ线段树
- hduoj 5443 The Water Problem【线段树】
- hdu 5443 The Water Problem
- hdu 5443 The Water Problem
- HDU 5443 The Water Problem
- hdu 5443 The Water Problem
- HDU 5443 The Water Problem
- hdu 5443 The Water Problem
- HDU 5443 The Water Problem
- hdu 5443 The Water Problem
- hdu5443 The Water Problem(线段树)
- HDOJ5443 The Water Problem(线段树)
- HDU5443 - The Water Problem (线段树)
- HDU 5443 The Water Problem 签到
- hdu 5443 The Water Problem(水)
- java 多线程协作 模拟四台电梯的工作状态并统计每层上下楼人数和输出上下楼日志到文件
- 【模拟】XMU 1054 Hacker
- 中文分词选取-不成词个数判断法
- 【模拟】XMU 1055 数七
- 项目实战:TabHost
- 【线段树】HDU 5443 The Water Problem
- 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
- RenderScript模糊图片
- 【字典树】【贪心】Codeforces 706D Vasiliy's Multiset
- 【动态规划】Codeforces 706C Hard problem
- 【二分】Codeforces 706B Interesting drink
- 【模拟】Codeforces 706A Beru-taxi
- Linux安装SonarQube
- 【数学】HDU 5753 Permutation Bo