【线段树】HDU 5443 The Water Problem
2016-08-11 13:38
344 查看
[b]题目链接:[/b]
http://acm.hdu.edu.cn/showproblem.php?pid=5443
[b]题目大意:[/b]
T组数据。n个值,m个询问,求区间l到r里的最大值。(n,m<=1000)
[b]题目思路:[/b]
【线段树】
线段树裸题。求区间最大值。
千万不要点
http://acm.hdu.edu.cn/showproblem.php?pid=5443
[b]题目大意:[/b]
T组数据。n个值,m个询问,求区间l到r里的最大值。(n,m<=1000)
[b]题目思路:[/b]
【线段树】
线段树裸题。求区间最大值。
// //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 1004 using 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); #endif int 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; } /* // // */
千万不要点
相关文章推荐
- 【线段树】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(水)
- hdoj 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(RMQ)2014 多校
- hdu 5443 The Water Problem
- HDU 5443 The Water Problem RMQ/暴力
- hdu 5443 The Water Problem
- ACM学习历程—HDU 5443 The Water Problem(RMQ)(2015长春网赛1007题)
- HDU 5443 The Water Problem(水题 找区间最大值)——2015 ACM/ICPC Asia Regional Changchun Online
- HDU 5443 The Water Problem 2015 ACM/ICPC Asia Regional Changchun Online
- hdu 5443 The Water Problem
- hdu 5443 The Water Problem(RMQ区间最值)