求助 急急急!!

P3865 【模板】ST 表

里循环写错了,是i++ ```cpp for(int j=1;j+(1<<j)-1<=n;j++) { for(int i=1;i+(1<<j)-1<=n;j++)//这里 { st[i][j]=max(st[i][j-1],st[i+(1<<(j-1))][j-1]); } } ```
by tang_mx @ 2023-07-25 11:27:59


@[zhangzhiqiao0130](/user/637499)
by tang_mx @ 2023-07-25 11:29:51


@[zhangzhiqiao0130](/user/637499) 首先您的st数组定义有误,应改为`st[100010][21]`。再就是j的循环条件应该为j <= 20。21行j++改为i++。最后ans应该为 `int ans = max(st[l][x],st[r-(1<<x)+1][x]);`,输出ans时还应该换行。
by OcTar @ 2023-07-25 11:30:50


谢谢
by zhangzhiqiao0130 @ 2023-07-25 11:31:53


已关注
by zhangzhiqiao0130 @ 2023-07-25 11:32:29


@[shanshande](/user/594916) 确实,我竟然没注意到出来他错误这么多
by tang_mx @ 2023-07-25 11:33:14


|