luogu#P11163. 「BalkanOI 2023 Day1」Weights
「BalkanOI 2023 Day1」Weights
题目描述
译自 BalkanOI 2023 Day1 T2「Weights」
给你 个天平,每个天平有两个质量可以忽略不计的盘子。天平用从 到 的整数编号。每个盘子上要么放着另一个天平,要么放着一个质量不可忽略的砝码。编号为 的天平放在地上,其他的天平都放在某个天平的盘子上。一共有 个砝码。砝码用 到 的整数编号,每个砝码的质量用 个整数 表示。
下图给出了一个由三个天平和四个砝码组成的例子。正体字的数字表示天平和砝码的编号,斜体字的数字表示砝码的质量。例如,编号为 的天平放在编号为 的天平的左盘上,编号为 质量为 的砝码放在编号为 的天平的右盘上。
如果一个天平的左盘和右盘的总质量相等,我们说它是平衡的。如果一个天平是平衡的,并且它的两个盘子上要么都是超平衡的天平,要么都是砝码,我们说它是超平衡的。
在上图中,只有天平 是平衡的(也是超平衡的),但是如果我们把砝码 和 的质量都增加到 ,那么三个天平都会变成超平衡的。然而,如果我们把砝码 的质量增加到 ,天平 会变成平衡的但不是超平衡的,因为天平 仍然不平衡。
现在我们要处理 个两种类型的操作:
- : 把砝码 的质量改成整数 。
- : 假设我们想让天平 变成超平衡的。我们可以用魔法把一些砝码变得更重!注意新的质量不一定是整数。要让天平 变成超平衡的,天平 上的最小总质量是多少?由于这个数可能很大,输出它对 取模的结果。可以证明在给定的限制下,结果总是一个整数。
注意,类型 的操作会改变砝码的质量,而类型 的操作不会。
输入格式
第一行包含两个整数 和 。
接下来的 行中的第 行包含两对字符和数字,每对描述了第 个天平的一个盘子:字符是 S
(天平)或 W
(砝码),表示盘子上的物体的类型,整数是相应物体的编号。保证一个天平永远不会放在一个编号更大的天平上。
接下来的一行包含 个整数 ,表示砝码的质量。
最后的 行表示操作。每行要么是形如 的,要么是形如 的,如问题描述中所述。
输出格式
对于每个类型 的操作,在一行上输出相应的最小质量对 取模的结果。
3 5
S 2 W 2
W 1 S 3
W 4 W 3
3 6 1 1
2 2
2 1
1 3 2
2 1
2 3
6
12
16
4
提示
样例解释
为了让天平 变成超平衡的,我们把砝码 和 的质量都增加到 。这样,天平 和 都会变成平衡的,因此 也就是超平衡的。天平 上的总质量是 。当我们这样做的时候,天平 也会变成平衡的,所以它也是超平衡的,它的总质量是 。当我们把砝码 的质量改成 的时候,这种方法就不行了。因此,为了让天平 变成超平衡的,我们可以把砝码 的质量改成 ,砝码 的质量改成 ,砝码 的质量改成 。这样,天平 上的总质量就是 。
数据范围
对于所有输入数据,满足:
- 对于每个类型 的操作:
- 对于每个类型 的操作:
- 对于每个类型 的操作:
详细子任务附加限制及分值如下表所示。令砝码的深度表示它直接或间接所在的盘子的数量。
子任务编号 | 附加限制 | 分值 |
---|---|---|
每个天平的至少一个盘子上有砝码 | ||
每个砝码的深度相同 | ||
每个砝码的深度小于 ,且 | ||
每个砝码的深度小于 | ||
无附加限制 |