Luogu6105 [Ynoi2010] y-fast trie
题意 : 给定常数
有
- 操作1:给出
,插入一个元素 ,保证之前集合中没有 这个元素 - 操作2:给出
,删除一个元素 ,保证之前集合中存在 这个元素
每次操作结束后,需要输出从
强制在线,
将输入的所有
对于和,分
对于
对于
每个元素只有一条出边,但可能有多条入边。显然,只有互指的元素对才可能是最优解。这种“互指关系”形成匹配(可能有元素未参与匹配),考虑动态维护这种匹配。
我们猜想修改对这些匹配的影响是
插入
先找出和
配对的最优解 ( )。查看 原来的出边 。若 ,则 改而指向 ,形成匹配 。 若原来
,插入 后变成 ,但 , 必然不匹配。 删除
若没有匹配则直接删除。
若有匹配
,则将两者同时删除,再加入 。
注意可能存在相同的数值。
复杂度