珂朵莉树Split(l)和Split(r+1)的顺序

学术版

@[uibn](/user/60215) Split(r+1)会使L的迭代器失效
by JRzyh @ 2021-05-04 12:07:38


@[uibn](/user/60215) 因为你需要保证 `split(r + 1)` 和 `split(l)` 返回的迭代器有效。 假设我们先 `split(l)`,再 `split(r + 1)`. 考虑以下情形: 假设 `set` 里面有一个区间 `[l, r')`,其中 `r + 1 < r'`. 那么 `split(l)` 会返回 `[l, r')` 的 iterator. 但是后续 `split(r + 1)` 的时候,会把这个 iterator erase,并创建区间 `[l, r + 1)` 和 `[r + 1, r')`. 在这之后,`split(l)` 的迭代器(指向 `[l, r')` )已经失效了。
by ftiasch @ 2021-05-04 12:10:57


叉姐!
by lyhqwq @ 2021-05-04 12:15:49


@[happy_yuyu](/user/340119) 你好!
by ftiasch @ 2021-05-04 12:20:29


@[ftiasch](/user/22682) 谢谢!
by uibn @ 2021-05-05 14:13:04


|