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-15 09:01  towboat  阅读(22)  评论(0)    收藏  举报