卡常
学习来源 -> https://platelet.top/hpc/old
st表
访问连续性就不说了, 考虑计算 log2。 预处理比 31 ^ builtin__clz(x)
慢, 而且慢很多。
set
insert(pos, x)
如果 \(pos\) 是 \(x\) 在 set 中正确的位置, 那么 insert
是 \(O(1)\) 的。
erase(it)
是 \(O(1)\) 的。
prev(it)
返回迭代器 \(it\) 的前驱,返回值等于 --it
,但不会修改 it。next(it) 返回后继。
map<int, int> 和 set<pair<int, int>> 可以使用 emplace(x, y) 来插入元素对。知道位置恰好在 it 之前的时候,使用 emplace_hint(it, x, y) 可以