乆乆,80分()大佬帮帮忙!谢谢!!!

P3865 【模板】ST 表

后两个是WA
by Casto2 @ 2023-05-03 15:45:05


可以看看我的: ```cpp #include<bits/stdc++.h> using namespace std; int n,m,f[1000005][22],l,r; inline int re() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } signed main() { n=re(),m=re(); for(int i=1;i<=n;i++) { f[i][0]=re(); } for(int j=1;j<=21;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]); } } while(m--) { l=re(),r=re(); int k=log2(r-l+1); cout<<max(f[l][k],f[r-(1<<k)+1][k])<<"\n"; } return 0; } ```
by xingcode @ 2023-05-08 20:50:31


```cpp for(int i=1;i+(1<<j-1)<=n;i++) { st[i][j]=max(st[i][j-1],st[i+(1<<j-1)][j-1]); } ``` 改为 ```cpp for(int i=1;i+(1<<j)-1<=n;i++) { st[i][j]=max(st[i][j-1],st[i+(1<<j-1)][j-1]); } ```
by aeiouaoeiu @ 2023-05-21 18:55:44


|