#5. 11/22 Subsequence

11/22 Subsequence

题目描述

在本题中,11/22 字符串的定义与 A 问题和 C 问题相同。

当字符串 TT 满足以下所有条件时,称 TT11/22 字符串

  • T|T| 是奇数。这里 T|T| 表示 TT 的长度。
  • 11 个字符到第 T+121\frac{|T|+1}{2}-1 个字符均为 1
  • T+12\frac{|T|+1}{2} 个字符为 /
  • T+12+1\frac{|T|+1}{2}+1 个字符到第 T|T| 个字符均为 2

例如,11/22111/222/ 是 11/22 字符串,而 11221/2211/222222/11//2/2/211 不是。

给定一个由 12/ 组成的长度为 NN 的字符串 SS,请处理 QQ 个查询。

每个查询给出 LLRR,请你求出 SS 的第 LL 个字符到第 RR 个字符组成的连续子串中,作为 TT 时,11/22 字符串的**(不要求连续的)**子序列的最大长度。若不存在这样的子序列,则输出 00

输入格式

输入以如下格式从标准输入读入。这里 queryi\mathrm{query}_i 表示第 ii 个查询。

NN QQ
SS
query1\mathrm{query}_1
query2\mathrm{query}_2
\vdots
queryQ\mathrm{query}_Q

每个查询的格式如下:

LL RR

输出格式

输出 QQ 行。第 ii 行输出第 ii 个查询的答案。

输入输出样例 #1

输入 #1

12 5
111/212/1122
1 7
9 12
3 6
4 10
1 12

输出 #1

5
0
3
1
7

说明/提示

约束

  • 1N1051 \leq N \leq 10^5
  • 1Q1051 \leq Q \leq 10^5
  • SS 是由 12/ 组成的长度为 NN 的字符串
  • 1LRN1 \leq L \leq R \leq N
  • N,Q,L,RN, Q, L, R 均为整数

样例解释 1

对于第 11 个查询,SS 的第 11 个字符到第 77 个字符组成的子串为 111/212。该字符串包含 11/22 作为子序列,这是 11/22 字符串中长度最大的。因此答案为 55。对于第 22 个查询,SS 的第 99 个字符到第 1212 个字符组成的子串为 1122。该字符串不包含任何 11/22 字符串作为子序列,因此答案为 00

由 ChatGPT 4.1 翻译