#ATarc132d. [ARC132D] Between Two Binary Strings

[ARC132D] Between Two Binary Strings

题目描述

我们将一个字符串的美丽度定义为该字符串中相邻且相同的 22 个字符的位置数。例如,00011 的美丽度为 3310101 的美丽度为 00

Sn,mS_{n,m} 为由 nn 个字符 0mm 个字符 1 组成的、长度为 n+mn+m 的所有字符串的集合。

对于 s1,s2Sn,ms_1, s_2 \in S_{n,m},定义 s1s_1s2s_2距离 d(s1,s2)d(s_1, s_2) 为:将字符串 s1s_1 通过若干次相邻两个字符交换操作变换为字符串 s2s_2 所需的最小操作次数。

此外,对于 s1,s2,s3Sn,ms_1, s_2, s_3 \in S_{n,m},若满足 d(s1,s3)=d(s1,s2)+d(s2,s3)d(s_1, s_3) = d(s_1, s_2) + d(s_2, s_3),则称 s2s_2 s1s_1s3s_3 之间

给定 s,tSn,ms, t \in S_{n,m},请输出在 sstt 之间的字符串的美丽度的最大值。

输入格式

输入从标准输入中按以下格式给出。

nn mm ss tt

输出格式

请输出在 sstt 之间的字符串的美丽度的最大值。

样例 1

输入

2 3
10110
01101

输出

2

样例 2

输入

4 2
000011
110000

输出

4

样例 3

输入

12 26
01110111101110111101001101111010110110
10011110111011011001111011111101001110

输出

22

说明/提示

限制条件

  • 2n+m3×1052 \leq n + m \leq 3 \times 10^5
  • 0n,m0 \leq n, m
  • s,ts, t 是由 nn0mm1 组成的、长度为 n+mn+m 的字符串

样例解释 1

1011001101 的距离为 22,它们之间的字符串有:10110011100110110101。它们的美丽度分别为 1,2,1,01, 2, 1, 0,因此答案为 22

样例解释 2

000011110000 的距离为 88。美丽度最大的字符串是 000011110000,答案为 44

由 ChatGPT 4.1 翻译