#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int tra[1000100],trb[1000100],a[1000100],n,m;
int lowbit(int x)
{
return x&-x;
}
void addax(int x)
{
while(x<=n)
{
tra[x]=a[x];
for(int p=1;p<=lowbit(x);p<<=1)
tra[x]=max(tra[x],tra[x-p]);
x+=lowbit(x);
}
}
void addin(int x)
{
while(x<=n)
{
trb[x]=a[x];
for(int p=1;p<=lowbit(x);p<<=1)
trb[x]=min(trb[x],trb[x-p]);
x+=lowbit(x);
}
}
int qmax(int l,int r)
{
int maxn=0;
while(r>=l)
{
maxn=max(maxn,a[r]),r--;
for(;r-lowbit(r)>=l;r-=lowbit(r))
maxn=max(maxn,tra[r]);
}
return maxn;
}
int qmin(int l,int r)
{
int minn=0x3f3f3f;
while(r>=l)
{
minn=min(minn,a[r]),r--;
for(;r-lowbit(r)>=l;r-=lowbit(r))
minn=min(minn,trb[r]);
}
return minn;
}
自己拿暴力程序对拍了,错的,可是也布吉岛我哪里出了错,求助/kk