小红拿到了一个长度为 的 01 串(仅由字符 '0' 和 '1' 组成的字符串)。
小红想知道,有多少子串满足,其所表示的二进制数,其对应的十进制数值在 和
之间(只统计不含前导零的子串)?
注 1 :两个子串哪怕长的一模一样,但只要取的位置不同,则定义为 2 个不同子串
注 2 :所谓子串(substring),指字符串删掉部分前缀和后缀(也可以不删)形成的字符串。
这个问题小红觉得可能太简单了,于是她决定强化该问题:
她可能会添加一些修改操作:每次选择一个位置进行翻转,即将 0 变成 1 或者 1 变成 0 。
第一行三个正整数
、
和
。
第二行为一个长度为的 01 串。
第三行为一个正整数。代表修改的次数
接下来的
行,每行有一个正整数
,代表翻转第
位置上的字符。
一共输出
行,每行一个整数,代表每次操作之后问题的答案。
请注意,每次操作后字符串的改动是会持续到未来的询问的。