24分代码求求大佬帮忙看看了

P3865 【模板】ST 表

有没有一种可能,你这句话数组越界了 ```cpp a[i][j]=max(a[i][j-1],a[i+(1<<(j-1))][j-1]); ```
by gujiga @ 2022-11-21 21:37:32


```cpp#include<bits/stdc++.h> using namespace std; const int N=100050; int a[N][20]; int n,m; int b[N]; void build() { int t=log(n)/log(2)+1; for(int j=1;j<t;j++) for(int i=1;i<=n;i++)//注意循环边界 a[i][j]=max(a[i][j-1],a[i+(1<<(j-1))][j-1]); } int main() { cin>>n>>m; for(int i=1;i<=n;i++) { scanf("%d",&b[i]); a[i][0]=b[i]; } build(); int x,y; for(int i=1;i<=m;i++) { scanf("%d%d",&x,&y); int k=log(y-x+1)/log(2); printf("%d\n",max(a[x][k],a[y-(1<<k)+1][k])); } return 0; } ```
by amend @ 2022-11-21 21:39:56


@[gujiga](/user/327969) 谢谢大佬
by ysw0521nb @ 2022-11-21 22:04:24


@[WSXZCLXS](/user/780168) 谢谢大佬
by ysw0521nb @ 2022-11-21 22:04:52


|