标签:for 问题 计算 void 算法 最大的 复杂 div 之间
1 void ST_prework(){
2 for(int i=1;i<=n;i++) f[i][0]=a[i];
3 int t=log(n)/log(2)+1;
4 for(int j=1;j<t;j++){
5 for(int i=1;i<=n-(1<<j)+1;i++){
6 fi][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1];//(此处为求最大值,最小值将max换为min即可)
7 }
8 }
9 }
int ST_query(int l,int r){
int k=log(r-l+1)/log(2);
return max(f[l][k],f[r-(1<<k)+1][k];//(此处为求最大值,最小值将max换为min即可)
}
标签:for 问题 计算 void 算法 最大的 复杂 div 之间
原文地址:https://www.cnblogs.com/gcw0618/p/12231364.html