#152. 01串

    ID: 152 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>2024暑假一期结训赛

01串

Description

给你一个长度为 nn 的01串和 qq 次操作,有两种操作:

  • 操作编号 00 表示求这个01串前导0的长度。
  • 操作编号 11 表示翻转这个01串中的某个位。

Input Format

第一行输入两个整数 nnqq ,分别表示01串的长度和操作个数。

接下来一行输入一个长度为 nn 的只由01组成的字符串,表示初始的01串。

接下来 qq 行,每行首先输入一个整数 0011 ,表示操作编号,如果输入的操作编号为 11,会再输入一个数 xx,表示反转01串第 xx 位。


前导0: 从这个01串的最高位开始遍历,遇到 11 或结尾停止,遍历过的二进制位的个数。如: 0001001000010010 的前导0长度为3,即 [000]10010[000]10010

Output Format

对于每个操作 00,输出一行一个整数表示当前01串前导0的长度。

16 5
0011001101000100
0
1 4
0
1 3
0
2
2
6

Hint

  1. 对于 100%100\% 的数据,1n1061 \le n \le 10^60q1050 \le q \le 10^51xin1 \le x_i \le n