CF1566C.MAX-MEX Cut
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A binary string is a string that consists of characters 0 and 1. A bi-table is a table that has exactly two rows of equal length, each being a binary string.
Let MEX of a bi-table be the smallest digit among 0, 1, or 2 that does not occur in the bi-table. For example, MEX for [00111010] is 2, because 0 and 1 occur in the bi-table at least once. MEX for [111111] is 0, because 0 and 2 do not occur in the bi-table, and 0<2.
You are given a bi-table with n columns. You should cut it into any number of bi-tables (each consisting of consecutive columns) so that each column is in exactly one bi-table. It is possible to cut the bi-table into a single bi-table — the whole bi-table.
What is the maximal sum of MEX of all resulting bi-tables can be?
二进制字符串是指仅由字符 0 和 1 组成的字符串。双行表(bi-table)是指恰好有两行、且每行长度相等的表格,其中每一行均为二进制字符串。
定义一个双行表的 MEX 为在 0、1、2 中未在该双行表中出现的最小数字。例如,双行表 [00111010] 的 MEX 为 2,因为 0 和 1 均至少出现了一次;而双行表 [111111] 的 MEX 为 0,因为 0 和 2 均未出现,且 0<2。
现给定一个具有 n 列的双行表。你需要将其切割成任意数量的双行表(每个新双行表均由原表中若干连续列构成),使得每一列恰好属于其中一个双行表。允许不进行切割,即整个双行表本身作为一个双行表。
问:所有切割所得双行表的 MEX 值之和的最大可能值是多少?
输入格式
The input consists of multiple test cases. The first line contains a single integer t (1≤t≤104) — the number of test cases. Description of the test cases follows.
The first line of the description of each test case contains a single integer n (1≤n≤105) — the number of columns in the bi-table.
Each of the next two lines contains a binary string of length n — the rows of the bi-table.
It's guaranteed that the sum of n over all test cases does not exceed 105.
输入包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的描述以一行开始,该行包含一个整数 n(1≤n≤105),表示双值表(bi-table)的列数。
接下来两行每行包含一个长度为 n 的二进制字符串,分别表示双值表的两行。
保证所有测试用例的 n 值之和不超过 105。
输出格式
For each test case print a single integer — the maximal sum of MEX of all bi-tables that it is possible to get by cutting the given bi-table optimally.
对于每个测试用例,输出一个整数——即通过最优地切割给定的双表所能得到的所有双表的 MEX 值之和的最大值。
输入输出样例
输入#1
4 7 0101000 1101100 5 01100 10101 2 01 01 6 000000 111111
输出#1
8 8 2 12
说明/提示
In the first test case you can cut the bi-table as follows:
- [01], its MEX is 2.
- [1010], its MEX is 2.
- [11], its MEX is 0.
- [01], its MEX is 2.
- [00], its MEX is 1.
- [00], its MEX is 1.
The sum of MEX is 8.
在第一个测试用例中,你可以按如下方式切割该二元表:
- [01],其 MEX 为 2。
- [1010],其 MEX 为 2。
- [11],其 MEX 为 0。
- [01],其 MEX 为 2。
- [00],其 MEX 为 1。
- [00],其 MEX 为 1。
MEX 的总和为 8。
输入解题思路,AI测评打分。不知道怎么写?