社区讨论
可以不使用 DFS 建方点
P5622 [DBOI2019] 巫女的职责参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mcnhq909
- 此快照首次捕获于
- 2025/07/03 22:38 8 个月前
- 此快照最后确认于
- 2025/11/04 06:46 4 个月前
之后,可以直接断掉 splay 上的边并更新信息。这样写常数更小~
代码示例:
CPPvoid merge(const int i, const int j) {
if(i == j) return;
if(check(i, j)) {
++tot;
queue<int> q;
q.push(i);
while(!q.empty()) {
const int u = q.front(); q.pop();
tr[u].f = tot;
pushdown(u);
if(tr[u].ch[0]) q.push(tr[u].ch[0]), tr[u].ch[0] = 0;
if(tr[u].ch[1]) q.push(tr[u].ch[1]), tr[u].ch[1] = 0;
pushup(u);
}
}
else tr[i].f = j;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...