QOJ.ac

QOJ

Time Limit: 7 s Memory Limit: 2048 MB Total points: 100

#8061. 加法或乘法

Statistics

你的妹妹正在玩一套木制数学玩具,由数字块和运算符块组成。每个数字块上印有一个 1 到 9 之间的数字,运算符块是双面的,两面分别印有 $+$ 和 $\times$。她刚刚用交替排列的数字块和运算符块搭建了一个数学表达式。第一个块是数字,第二个是运算符,第三个是数字,以此类推。她问你:“你能算出这个表达式的值吗?”

此外,她会重复进行以下操作之一:

  • $s\ i\ j$ (交换):交换第 $i$ 个和第 $j$ 个数字块。
  • $f\ i$ (翻转):翻转第 $i$ 个运算符块。其运算符在 $+$ 和 $\times$ 之间切换。
  • $a$ (全部翻转):翻转整个数学表达式中的所有运算符块。

在每次操作后,你都需要快速回答更新后的表达式的值(可能与上一次相同)。请记住,乘法运算的优先级高于加法。

输入格式

第一行包含两个整数 $N$ ($2 \le N \le 2 \times 10^5$) 和 $M$ ($1 \le M \le 2 \times 10^5$),其中 $N$ 是数字的个数,$M$ 是操作的次数。第二行表示初始输入的 $2N - 1$ 个字符。奇数位置是 1 到 9 之间的单个数字,偶数位置是运算符 $+$(“+”)或 $\times$(“*”)。接下来的 $M$ 行,每行代表你妹妹的一次操作。交换操作描述为 “$s\ i\ j$”,其中 $1 \le i, j \le N$,$i$ 和 $j$ 是要交换的 1-索引位置。如果 $i = j$,则不交换任何块。翻转操作描述为 “$f\ i$”,其中 $1 \le i \le N - 1$,表示你妹妹翻转了第 $i$ 个运算符。最后,全部翻转操作描述为 “$a$”,没有额外参数。

输出格式

第一行输出应为初始表达式的值。然后,输出 $M$ 行,每行对应一次操作后的结果。由于数值可能很大,请将结果对 $10^9 + 7$ ($= 1\,000\,000\,007$) 取模。

说明

样例 1 的初始输入。

样例 1 的解释:

  • $2 + 3 \times 4 = 14$:初始表达式。
  • $3 + 2 \times 4 = 11$:交换第一个数字 (2) 和第二个数字 (3)。
  • $3 \times 2 + 4 = 10$:翻转所有运算符。
  • $3 \times 2 \times 4 = 24$:翻转第二个运算符 (+)。
  • $3 + 2 + 4 = 9$:再次翻转所有运算符。

样例

输入 1

3 4
2+3*4
s 1 2
a
f 2
a

输出 1

14
11
10
24
9

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.