#P6373. 「StOI-1」IOI 计数

「StOI-1」IOI 计数

题目背景

L_C_A 想了解一下 IOI,可他太菜了,看不懂题目,只会数数。

题目描述

给定一个长度为 nn 字符串 SS ,同时进行 mm 次操作:
操作 1:1 x c 表示将第 xx 个字符改为 cccc 只会为 IO)。
操作 2:2 l r 询问字符串 SS 中有多少对三元组 (i,j,k)(i, j, k) 满足:
Si=S_i = I ,Sj=,S_j = O ,Sk=,S_k = I 并且 li<j<krl \le i \lt j \lt k \le r

输入格式

输入第一行两个正整数 nnmm
接下来一行是长度为 nn 的字符串 ss ,接下来 mm 行是操作。
含义均如题。

输出格式

输出若干行:对于所有操作 2,输出查询的答案,要求每个答案之间换行。

4 3
IOOI
2 1 4
1 1 O
2 1 2
2
0
10 10
IIOOIOIIIO
1 1 I
2 1 7
1 5 O
2 5 9
1 4 I
1 10 I
2 1 10
2 5 10
2 2 8
2 3 9
11
0
34
0
11
6

提示

对于 20%20 \% 的数据:1n,m1001 \le n, m \le 1001lrn1 \le l \le r \le n
对于另 20%20 \% 的数据:1n1051 \le n \le 10 ^ 5m=1m = 11lrn1 \le l \le r \le n
对于另 20%20 \% 的数据:1n,m1051 \le n, m \le 10 ^ 5l=1,r=nl = 1, r = n
对于 100%100 \% 的数据:1n,m5×1051 \le n, m \le 5 \times 10 ^ 51lrn1 \le l \le r \le n

所有数据保证合法。