考虑使用并查集维护答案。对于目前每种数建立一个虚点,每个点初始父亲就是其权值对应的虚点。
考虑操作 111 是什么。将 axa_xax 改成 yyy,新建一个 yyy 的虚点,将 xxx 的父亲改成新的虚点即可。
操作 222 直接输出 xxx 在并查集的根对应的权值。
考虑操作 333。在所有操作时维护一个 set 表示现在存在哪些权值。操作 333 时二分出 [l,r][l,r][l,r] 内所有权值,将其合并到 l−1l−1l−1 或 r+1r+1r+1,然后更新 set 即可。
考虑使用并查集维护答案。对于目前每种数建立一个虚点,每个点初始父亲就是其权值对应的虚点。
考虑操作 111 是什么。将 axa_xax 改成 yyy,新建一个 yyy 的虚点,将 xxx 的父亲改成新的虚点即可。
操作 222 直接输出 xxx 在并查集的根对应的权值。
考虑操作 333。在所有操作时维护一个 set 表示现在存在哪些权值。操作 333 时二分出 [l,r][l,r][l,r] 内所有权值,将其合并到 l−1l−1l−1 或 r+1r+1r+1,然后更新 set 即可。
6145
456

被折叠的 条评论
为什么被折叠?