CF2131F.Unjust Binary Life

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

Yuri 有两个长度为 nn 的 01 字符串 aa 和 bb,这两个字符串可以定义一个 n×nn \times n 的网格。记 (i,j)(i, j) 为第 ii 行第 jj 列的单元格。单元格 (i,j)(i, j) 的值为 ai⊕bja_i \oplus b_j,其中 ⊕\oplus 表示按位异或运算。

Yuri 的旅途永远从单元格 (1,1)(1, 1) 开始。从单元格 (i,j)(i, j) 出发,她只能向下移动到单元格 (i+1,j)(i+1, j) 或者向右移动到单元格 (i,j+1)(i, j+1)。当且仅当路径上所有单元格——包括起始单元格 (1,1)(1, 1)——的值均为 00 时,她才能沿着这条路径移动。

在她出发之前,她可以进行任意次下列操作。

  • 选择一个索引 1≤i≤n1 \le i \le n,然后翻转 aia_i 或者 bib_i 的值。也就是说,11 会变为 00,而将00 会变为 11。网格也会随之改变。

记 f(x,y)f(x, y) 为 Yuri 为了到达单元格 (x,y)(x, y) 需要进行操作的最小次数,你需要计算出所有 1≤x,y≤n1 \le x,y \le n 对应的 f(x,y)f(x,y) 之和。

注意这 n2n^2 种情况是独立的,也就是说,在计算每一个 f(x,y)f(x, y) 的时候,aa 和 bb 的值都为初始状态。

输入格式

输入数据包含多组测试用例,第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的组数。对于每个测试用例:

  • 第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)。
  • 第二行包含一个 0101 字符串 aa(∣a∣=n,ai∈{0,1}|a| = n, a_i \in \{0,1\})。
  • 第三行包含一个 0101 字符串 bb(∣b∣=n,bi∈{0,1}|b| = n, b_i \in \{0,1\})。

输入数据保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5

输出格式

对于每个测试用例,输出一个整数,表示对于所有单元格,所需要的最小操作次数之和。

输入输出样例

  • 输入#1

    3
    2
    11
    00
    2
    01
    01
    4
    1010
    1101

    输出#1

    5
    4
    24

说明/提示

在第一个测试用例中,2×22 \times 2 的网格如下所示。

111111 \\ 11

在初始状态下,Yuri 无法到达任何单元格。

Yuri 可以翻转 a1a_1,然后网格变为:

001100 \\ 11

于是 Yuri 便可以到达单元格 (1,1)(1,1) 和 (1,2)(1,2)。

另一方面,Yuri 可以翻转 b1b_1,然后网格变为:

010101 \\ 01

于是 Yuri 就可以到达单元格 (1,1)(1,1) 和 (2,1)(2,1)。

为了到达单元格 (2,2)(2,2),可以证明 Yuri 必须操作至少两次。比如,她可以翻转 a1a_1,然后翻转 a2a_2,网格变为:

000000 \\ 00

因此,答案是 1+1+1+2=51+1+1+2=5.

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

首页