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$。
保证对于每个第二类操作,相应的团队此前已通过第一类操作加入,并且尚未被删除。
输出格式
对于每个第三类操作,输出一行一个整数,表示所询问日期的总魔法强度。