92TLE,求助

P3865 【模板】ST 表

把log2预处理一下试试
by gxy001 @ 2020-08-06 09:32:14


这边建议用快读呢亲
by Prean @ 2020-08-06 09:36:16


@[dengyunsheng](/user/340333)
by JK_LOVER @ 2020-08-06 09:36:58


```cpp #include<bits/stdc++.h> using namespace std; const int N=1e5+5,M=18; int s[N]; int n,m; int f[N][M]; void init(){ for(int j=0;j<M;j++){ for(int i=1;i+(1<<j)-1<=n;i++){ if(!j) f[i][j]=s[i]; else f[i][j]=max(f[i][j-1],f[i+(1 << j-1)][j-1]); } } } int query(int l,int r){ int len=r-l+1; int k=log2(len); return max(f[l][k],f[r-(1<<k)+1][k]); } int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&s[i]); init(); while(m--){ int l,r; scanf("%d %d",&l,&r); printf("%d\n",query(l,r)); } return 0; } ```
by JK_LOVER @ 2020-08-06 09:37:06


~~~ int k=log2(len); ~~~ 亲,有 $\log_2$ 这个函数呢
by JK_LOVER @ 2020-08-06 09:37:46


@[JK_LOVER](/user/227824) 建议 ``` #define log2(x) (31-__builtin_clz(x)) ```
by 鏡音リン @ 2020-08-06 09:44:28


@[鏡音リン](/user/90893) 谢谢$QWQ$
by JK_LOVER @ 2020-08-06 09:46:07


@[JK_LOVER](/user/227824) log2很慢的
by tommy0221 @ 2020-08-06 10:01:53


@[世外明月](/user/123384) 被大佬看笑话了/kk
by JK_LOVER @ 2020-08-06 10:06:06


我是菜鸡
by tommy0221 @ 2020-08-06 10:12:56


|