#1186. ykw 的操作序列
ykw 的操作序列
说明
ykw 的程序中有一个变量 $x = 0$,接下来 ykw 会使用两种不同的指令对 $x$ 进行修改
1. `-`:让 `x--`
2. `+`:让 `x++`
我们认为这份程序最终的运行结果为 $F$,表示执行操作过程中出现过的不同的数的数量(包括开始时的 $0$)。
现在 ykw 突发奇想,他想知道如果在操作序列中删除一段,$F$ 的值会变成什么样呢?
输入格式
第一行输入两个整数 $n, m$,表示原本操作的个数和询问数。
第二行一个仅包含 $+$ 和 $-$ 的长度为 $n$ 的字符串,表示一开始 ykw 设置的操作序列。
接下来 $m$ 行,每行两个整数 $l,r$,表示一组询问,询问删除区间 $[l, r]$ 这一段操作后程序输出的最终结果 $F$ 的值。
对于 $50\%$ 的数据,$1 \le n, m \le 10^3$。
对于 $100\%$ 的数据,$1 \le n, m \le 2 \cdot 10^5, 1 \le l \le r \le n$。
输出格式
对于每个询问输出一行一个整数,表示答案
样例
8 4
-+--+--+
1 8
2 8
2 5
1 1
1
2
4
4
相关
在下列比赛中: