告诫后人
查看原帖
告诫后人
207996
yzy1Ẽd<ßDream楼主2022/1/9 17:05

交换两个 pb_ds 里的平衡树的引用的时间复杂度是 O(a+b)O(|a|+|b|) 的!这点和 map 不一样,它那是 O(1)O(1) 的。所以如果你写了这种代码:

void Join(Tree &a, Tree &b) {
  if (b.size() > a.size()) swap(a, b);
  each (x, b)
    a.insert(x);
  b.clear();
}

那么它的时间复杂度是 O(n2)O(n^2) 的!

2022/1/9 17:05
加载中...