ST算法模板

void work()
{ 
    int t=log(n)/log(2);
    for(int j=1;j<=t;++j)
    {
        for(int i=1;i<=(n+1-(1<<j));++i)
        {
            f[j][i]=max(f[j-1][i],f[j-1][i+(1<<(j-1))]);
            f_min[j][i]=min(f_min[j-1][i],f_min[j-1][i+(1<<(j-1))]);
        }
    }
} 
int maxn_wei,minn_wei;
void RMB(int l,int r)
{
    int t=log(r-l+1)/log(2);
    maxn_wei=max(f[t][l],f[t][r+1-(1<<t)]);
    minn_wei=min(f_min[t][l],f_min[t][r+1-(1<<t)]);
    return ;
}

猜你喜欢

转载自www.cnblogs.com/Wwb123/p/11312038.html