P17675 [IO 2025 #4] 骑士们的扩张

题目描述

四骑士继续在世界各地举行精心策划的演出。他们时而消失,时而又出现在舞台上,留下许多谜团。 考虑一个动态的魔术师团队集合。编号为 $i$ 的团队由两个参数 $x_i$ 和 $k_i$ 描述。注意,两个不同团队的这两个参数都可以相同。 从第 $t=1$ 天起,每个团队按照以下无限循环活动: - 在最开始的 $k_i$ 天里,团队以强度 $x_i$ 积极演出; - 在接下来的 $k_i$ 天里,团队完全消失,准备新的魔术,对总“魔法强度”没有任何贡献。 随后重复这一循环:演出 $k_i$ 天,沉寂 $k_i$ 天,如此不断重复。 你需要处理不同观察者(国际刑警、警察、粉丝和神秘委托人)提出的询问。他们希望知道某一天所有团队的总“魔法强度”。支持三种操作: 1. `+ x k`:加入一个参数为 $x,k$ 的新魔术师团队。 2. `- x k`:一个参数为 $x,k$ 的团队退出。 3. `? t`:询问第 $t$ 天所有团队的总演出强度。 请帮助观察者回答所有第三类询问。

输入格式

第一行包含一个整数 $q$($1\le q\le 4\cdot 10^5$),表示操作数量。 接下来的 $q$ 行,每行包含一个上述三种类型之一的操作。 第一、二类操作中的整数 $x,k$ 分别表示加入、删除的团队参数,满足 $1\le x\le 10^3$、$1\le k\le 2\cdot 10^5$。 第三类操作中的整数 $t$ 表示日期,满足 $1\le t\le 2\cdot 10^5$。 保证对于每个第二类操作,相应的团队此前已通过第一类操作加入,并且尚未被删除。

输出格式

对于每个第三类操作,输出一行一个整数,表示所询问日期的总魔法强度。