const int N=1e5+2;
 int st[N][20],n,a[N];
 
 void init(){
     int i,j;
     for(i=1;i<=n;i++) st[i][0]=a[i];
     for(j=1;j<20;j++)
      for(i=1;i+(1<<j)-1<=n;i++){
          st[i][j]=max(st[i][j-1],st[i+(1<<(j-1))][j-1]);
      }
 }
 int q(int l,int r){
     int t=log2(r-l+1);
     return max(st[l][t],st[r-(1<<t)+1][t]);
 }

 

posted on 2022-10-27 19:18  towboat  阅读(25)  评论(0)    收藏  举报