鬼畜错误
查看原帖
鬼畜错误
726139
残阳如血楼主2024/5/4 10:15
void maketag(int u, int l, int r) { // 标记
#ifdef DEBUG
	std::cout << "maketag at " << u << "   (" << l << ", " << r << ")\n";
#endif
	lzy[u] ^= 1;
//	w[u] = w[u] == r - l + 1 ? 0 : r - l + 1; 错误点
	w[u] = r - l + 1 - w[u];
}

对于错误的代码

  • w[u] == r - l + 1,那么 w[u] = 0
  • w[u] == 0,那么 w[u] = r - l + 1

这两份代码不应该是等价的吗?

2024/5/4 10:15
加载中...