社区讨论
警示后人(If you've WAed on #19 by ST)
P8818[CSP-S 2022] 策略游戏参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhjty3p8
- 此快照首次捕获于
- 2025/11/04 08:27 4 个月前
- 此快照最后确认于
- 2025/11/04 08:27 4 个月前
检查你建 ST 表时是否混淆了 。
以我的建树为例:
CPPinline void prework(){
for(rint i = 2; i <= max(n, m); ++i)
Log2[i] = Log2[i>>1]+1;
for(rint t = 1; t <= 19; ++t)
for(rint i = 1; i <= n; ++i){
if(i+(1<<t-1) > n) continue;
st1a[i][t] = min(st1a[i][t-1], st1a[i+(1<<t-1)][t-1]);
st1b[i][t] = max(st1b[i][t-1], st1b[i+(1<<t-1)][t-1]);
st1d[i][t] = min(st1d[i][t-1], st1d[i+(1<<t-1)][t-1]);
st1e[i][t] = max(st1e[i][t-1], st1e[i+(1<<t-1)][t-1]);
}
for(rint t = 1; t <= 19; ++t)
for(rint i = 1; i <= m; ++i){
if(i+(1<<t-1) > m) continue;
st2a[i][t] = min(st2a[i][t-1], st2a[i+(1<<t-1)][t-1]);
st2b[i][t] = max(st2b[i][t-1], st2b[i+(1<<t-1)][t-1]);
}
}
我错在第二行的
i <= max(n, m)(写成了 i <= n),和 建树时的 i <= m(也写成了 i <= n)。然后死了。
回复
共 1 条回复,欢迎继续交流。
正在加载回复...