时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
莉莉是一位天才小提琴手,却在一场意外中失去了演奏的能力。心灰意冷的她退隐到一个偏僻的海边小镇,企图逃避一切。在那里,她遇到了一位年老的音乐家,他教会了莉莉即便无法演奏,也能通过教授他人、创作音乐来传递情感与美。莉莉重拾信心,她的音乐通过她的学生们,在世界各地绽放,她找到了一种新的生活方式,以及音乐带给她的新的意义和目的。
给一个n长度的01串,其中0和1字符分别表示为一种运算方法,一个数可以通过遍历一个运算区间得到一个运算结果。
用x来表示前面运算得出的结果,则有:
0字符所代表运算表示为:

1字符所代表运算表示为:
现在有m次询问,询问有如下两种情况:
1.op=1时给定一个y,翻转y位置上的值(如0变1,1变0)。
2.op=2时给定一个初始x和区间l,r,输出x在经历运算区间[l,r]之后的值,答案可能很大对998244353取模。
输入描述:
一共m+2行。
第一行输入n和m表示字符串大小和询问次数。
第二行输入长度为n的01串。
接下来m行,每行输入以下两种情况:
-

-

题目保证:
输出描述:
对于op=2的情况,输出答案时要对998244353取模,每次输出单独一行。
示例1
输入
复制
3 3
010
2 2 1 3
1 3
2 2 1 3