RMQ
// Name : RMQ
// Parameter :
// Return : 无
void RMQInit(int rmq[][],int a[]){
for(int i=0;i<n;i++) rmq[i][0]=a[i];
for(int j=1;(1<<j)<n;j++)
for(int i=0;i+(1<<j)-1<n;i++)
rmq=[i][j]=min(rmq[i][j-1],rmq[i+(1<<(j-1))][j-1]);
}
int RMQ(int l,int r){
int j=lg2[r-l+1];
return min(rmq[q][j],rmq[r-(1<<j)+1][j]);
}
浙公网安备 33010602011771号