2018-team4-modules-ST

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

{{{
int Log[maxn],f[maxn][18];
int query(int l,int r){
    int k = Log[r-l+1];
    return max(f[l][k],f[r-(1<<k)+1][k]);
}
// Note that f[i][0] = a[i] should be done.
void pre_work(int n,int K){
    for(int i=2;i<=n;++i) Log[i] = Log[i>>1]+1;
    for(int j=1;j<K;++j) for(int i=1;i+(1<<j-1)<=n;++i){
        f[i][j] = max(f[i][j-1],f[i+(1<<j-1)][j-1]);
    }
}
}}}
int Log[maxn],f[maxn][18];
int query(int l,int r){
    int k = Log[r-l+1];
    return max(f[l][k],f[r-(1<<k)+1][k]);
}
// Note that f[i][0] = a[i] should be done.
void pre_work(int n,int K){
    for(int i=2;i<=n;++i) Log[i] = Log[i>>1]+1;
    for(int j=1;j<K;++j) for(int i=1;i+(1<<j-1)<=n;++i){
        f[i][j] = max(f[i][j-1],f[i+(1<<j-1)][j-1]);
    }
}