CF1943F.Minimum Hamming Distance

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的二进制字符串 ss。

如果一个长度同为 nn 的二进制字符串 pp 满足:对于每个 ii(1≤i≤n1 \leq i \leq n),都存在下标 ll 和 rr,使得:

  • 1≤l≤i≤r≤n1 \leq l \leq i \leq r \leq n
  • sis_i 是字符串 plpl+1…prp_l p_{l+1} \ldots p_r 的众数 ‡^\ddagger

则称 pp 为一个“好”字符串。

现在给定另一个长度为 nn 的二进制字符串 tt,请你求出 tt 与任意一个“好”字符串 gg 的最小汉明距离 §^\S。

†^\dagger 二进制字符串是仅由字符 0\mathtt{0} 和 1\mathtt{1} 组成的字符串。

‡^\ddagger 字符 cc 是长度为 mm 的字符串 pp 的众数,如果 cc 在 pp 中出现的次数不少于 ⌈m2⌉\lceil \frac{m}{2} \rceil。例如,0\mathtt{0} 是 010\mathtt{010} 的众数,1\mathtt{1} 不是 010\mathtt{010} 的众数,0\mathtt{0} 和 1\mathtt{1} 都是 011010\mathtt{011010} 的众数。

§^\S 长度为 mm 的字符串 aa 和 bb 的汉明距离是满足 1≤i≤m1 \leq i \leq m 且 ai≠bia_i \neq b_i 的下标 ii 的个数。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤1051 \le t \le 10^5),表示测试用例的组数。

每组测试用例的第一行包含一个整数 nn(1≤n≤1041 \le n \le 10^4),表示二进制字符串 ss 的长度。

第二行包含一个长度为 nn 的二进制字符串 ss,仅包含字符 00 和 11。

第三行包含一个长度为 nn 的二进制字符串 tt,仅包含字符 00 和 11。

保证所有测试用例中 nn 的总和不超过 10610^6,且所有测试用例中 n2n^2 的总和不超过 10810^8。

输出格式

对于每组测试用例,输出 tt 与任意一个“好”字符串 gg 的最小汉明距离。

输入输出样例

  • 输入#1

    3
    3
    000
    000
    4
    0000
    1111
    6
    111111
    000100

    输出#1

    0
    2
    1

说明/提示

在第一个测试用例中,g=000g=\mathtt{000} 是一个“好”字符串,与 tt 的汉明距离为 00。

在第二个测试用例中,g=0011g=\mathtt{0011} 是一个“好”字符串,与 tt 的汉明距离为 22。可以证明不存在与 tt 的汉明距离小于 22 的“好”字符串。

在第三个测试用例中,g=001100g=\mathtt{001100} 是一个“好”字符串,与 tt 的汉明距离为 11。

由 ChatGPT 4.1 翻译

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

首页