金石后入
查看原帖
金石后入
167697
BartAllen楼主2025/4/29 16:01

如果你过不了样例,原因是第二个询问输出0

或者是80分,有20WA是因为输出0

线段树一定要初始化!线段树一定要初始化!!线段树一定要初始化!!!不论是存编号还是存最小值都要初始化。

全部没有初始化会导致过不了样例的第二个询问(输出0)

仅仅初始化 4 倍(也就是到叶子节点)会有 20 分WA,原因是因为神秘程序会pushup到叶子节点的子节点,所以要初始化 8 倍以上,不过也有可能是我的写法问题

过不了样例的:

  1. 没初始化
  2. 只初始化最小值:
for (int i = 1; i <= n << 2; i++) mn[i] = inf;

80分的:

for (int i = 1; i <= n << 2; i++) mn[i] = inf, t[i] = 1;

正确的:

for (int i = 1; i <= n << 4; i++) mn[i] = inf, t[i] = 1;
2025/4/29 16:01
加载中...