#arc132d. [arc132_d]Between Two Binary Strings

[arc132_d]Between Two Binary Strings

题目描述

让我们定义字符串的美丽度为相邻字符相同的位置数量。例如,00011 的美丽度是 33,而 10101 的美丽度是 00

Sn,mS_{n,m} 为由 nn0mm1 组成的长度为 n+mn+m 的所有字符串的集合。

对于 s1,s2inSn,ms_1,s_2 \\in S_{n,m},将字符串 s1s_1 调整为 s2s_2 所需的最小交换次数定义为 s1s_1s2s_2 之间的距离,记作 d(s1,s2)d(s_1,s_2)

此外,对于 s1,s2,s3inSn,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,tinSn,ms,t\\in S_{n,m},计算 sstt 之间的字符串的最大美丽度。

约束条件

  • 2len+mle3times1052 \\le n + m\\le 3\\times 10^5
  • 0len,m0 \\le n,m
  • sstt 都是由 nn0mm1 组成的长度为 n+mn+m 的字符串。

输入

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

nn mm ss tt

输出

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


示例输入1

2 3
10110
01101

示例输出1

2

1011001101 之间的距离为 22 的字符串有:10110, 01110, 01101, 10101。它们的美丽度分别为 11221100,因此答案为 22


示例输入2

4 2
000011
110000

示例输出2

4

000011110000 之间的距离为 88 的字符串中,美丽度最大的是 000011110000,因此答案为 44


示例输入3

12 26
01110111101110111101001101111010110110
10011110111011011001111011111101001110

示例输出3

22