#198. 子串计数II

子串计数II

Problem H. 子串计数II

时间限制:1s

空间限制:256MB

题目描述

给定一个只包含0和1的字符串,那么该字符串长度为 22 的连续子串有以下 44 种可能:00,01,10,11,其中小季非常关注 0110 这两种子串的数量,他认为这两种子串数量相等时该01字符串是“好01串”。

现在小季从给定01字符串中取出若干连续子串,请你判断该子串是否是一个“好01串”。

输入描述

第一行输入两个正整数 nnqq,用空格隔开,分别代表字符串的长度和询问次数。

第二行输入一个长度为 nn 的01字符串。

接下来 qq 行输入两个正整数 llrr,用空格隔开,代表取出下标从 llrr 的子串进行判断(下标从1开始)。

1n,q1051 \le n, q \le 10^5

1lrn1 \le l \le r \le n

输出描述

输出 qq 行,每行一个判断结果;如果当前询问的子串是“好01串”就输出“Yes”(不包括引号),否则就输出"No"。

样例1

输入

8 3
00110110
1 8
2 7
3 4

输出

Yes
No
Yes

解释

第一次询问的子串为0011011001子串的数量为2,10子串的数量为2,数量相等;

第二次询问的子串为01101101子串的数量为2,10子串的数量为1,数量不相等;

第三次询问的子串为1101子串的数量为0,10子串的数量为0,数量相等。