#aBC240Exid289. [ABC240Ex] Sequence of Substrings

[ABC240Ex] Sequence of Substrings

AT_abc240_h [ABC240Ex] Sequence of Substrings

题目描述

给定一个只包含 0011 的长度为 NN 的字符串 S=s1s2sNS = s_1 s_2 \ldots s_N

请输出满足以下 33 个条件的整数对序列 $\big((L_1, R_1), (L_2, R_2), \ldots, (L_K, R_K)\big)$ 中,最大的 KK

  • 对于 i=1,2,,Ki = 1, 2, \ldots, K,有 1LiRiN1 \leq L_i \leq R_i \leq N
  • 对于 i=1,2,,K1i = 1, 2, \ldots, K-1,有 Ri<Li+1R_i < L_{i+1}
  • 对于 i=1,2,,K1i = 1, 2, \ldots, K-1,字符串 sLisLi+1sRis_{L_i}s_{L_i+1}\ldots s_{R_i} 在字典序上严格小于字符串 sLi+1sLi+1+1sRi+1s_{L_{i+1}}s_{L_{i+1}+1}\ldots s_{R_{i+1}}

输入格式

输入通过标准输入给出,格式如下:

NN SS

输出格式

请输出答案。

输入输出样例 #1

输入 #1

7
0101010

输出 #1

3

输入输出样例 #2

输入 #2

30
000011001110101001011110001001

输出 #2

9

说明/提示

限制条件

  • 1N2.5×1041 \leq N \leq 2.5 \times 10^4
  • NN 为整数
  • SS 是只包含 0011 的长度为 NN 的字符串

样例解释 1

K=3K = 3 时,例如 $(L_1, R_1) = (1, 1), (L_2, R_2) = (3, 5), (L_3, R_3) = (6, 7)$ 满足题目中的条件。实际上,s1=0s_1 = 0 在字典序上严格小于 s3s4s5=010s_3s_4s_5 = 010s3s4s5=010s_3s_4s_5 = 010 在字典序上严格小于 s6s7=10s_6s_7 = 10。当 K4K \geq 4 时,不存在满足题目条件的 $\big((L_1, R_1), (L_2, R_2), \ldots, (L_K, R_K)\big)$。

由 ChatGPT 4.1 翻译