社区讨论

已过,但有点不懂

P6773[NOI2020] 命运参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lwok5jsv
此快照首次捕获于
2024/05/27 13:58
2 年前
此快照最后确认于
2024/05/27 18:14
2 年前
查看原帖
这是我的Add函数(Add 函数是在下传标记的时候给儿子节点打上标记。):
CPP
void Add(int &u, LL x) {
  if (!u) {
    return;
  }
  w[u].tag = w[u].tag * x % kM, w[u].s = w[u].s * x % kM;
}
但这样就会RE:
CPP
void Add(int &u, LL x) {
  !u && (u = ++tot);
  w[u].tag = w[u].tag * x % kM, w[u].s = w[u].s * x % kM;
}
RE原因可能是节点个数太多了。
我的问题是:为什么动态开点线段树在这题中下传标记如果没有子节点直接跳过不会有问题?

回复

1 条回复,欢迎继续交流。

正在加载回复...