AT_arc132_d.[ARC132D] Between Two Binary Strings

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

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

此外,对于 s1,s2,s3∈Sn,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_1 和 s3s_3 之间。

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

输入格式

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

nn mm ss tt

输出格式

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

输入输出样例

  • 输入#1

    2 3
    10110
    01101

    输出#1

    2
  • 输入#2

    4 2
    000011
    110000

    输出#2

    4
  • 输入#3

    12 26
    01110111101110111101001101111010110110
    10011110111011011001111011111101001110

    输出#3

    22

说明/提示

限制条件

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

样例解释 1

10110 和 01101 的距离为 22,它们之间的字符串有:10110、01110、01101、10101。它们的美丽度分别为 1,2,1,01, 2, 1, 0,因此答案为 22。

样例解释 2

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

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页