//请教了wearry大神哈哈哈哈哈#include#include #include #include #include #include using namespace std;int Max[1000][100],a[1000],n,Min[1000][100];void pre_handle(){//预处理 for(int i=1;i<=n;i++)Max[i][0]=a[i],Min[i][0]=a[i]; for(int j=1;j<20;j++){ for(int i=1;i<=n;i++){ if(i+(1< <=n){ Max[i][j]=max(Max[i][j-1],Max[i+(1<<(j-1))][j-1]); Min[i][j]=min(Min[i][j-1],Min[i+(1<<(j-1))][j-1]); } } }}int query(int q,int l,int r){//查询 int k=log2(r-l+1); int ans; if(q==0){ ans=max(Max[l][k],Max[r-(1<