CF2131F.Unjust Binary Life
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Yuri 有两个长度为 n 的 01 字符串 a 和 b,这两个字符串可以定义一个 n×n 的网格。记 (i,j) 为第 i 行第 j 列的单元格。单元格 (i,j) 的值为 ai⊕bj,其中 ⊕ 表示按位异或运算。
Yuri 的旅途永远从单元格 (1,1) 开始。从单元格 (i,j) 出发,她只能向下移动到单元格 (i+1,j) 或者向右移动到单元格 (i,j+1)。当且仅当路径上所有单元格——包括起始单元格 (1,1)——的值均为 0 时,她才能沿着这条路径移动。
在她出发之前,她可以进行任意次下列操作。
- 选择一个索引 1≤i≤n,然后翻转 ai 或者 bi 的值。也就是说,1 会变为 0,而将0 会变为 1。网格也会随之改变。
记 f(x,y) 为 Yuri 为了到达单元格 (x,y) 需要进行操作的最小次数,你需要计算出所有 1≤x,y≤n 对应的 f(x,y) 之和。
注意这 n2 种情况是独立的,也就是说,在计算每一个 f(x,y) 的时候,a 和 b 的值都为初始状态。
输入格式
输入数据包含多组测试用例,第一行包含一个整数 t(1≤t≤104),表示测试用例的组数。对于每个测试用例:
- 第一行包含一个整数 n(1≤n≤2⋅105)。
- 第二行包含一个 01 字符串 a(∣a∣=n,ai∈{0,1})。
- 第三行包含一个 01 字符串 b(∣b∣=n,bi∈{0,1})。
输入数据保证所有测试用例的 n 之和不超过 2⋅105
输出格式
对于每个测试用例,输出一个整数,表示对于所有单元格,所需要的最小操作次数之和。
输入输出样例
输入#1
3 2 11 00 2 01 01 4 1010 1101
输出#1
5 4 24
说明/提示
在第一个测试用例中,2×2 的网格如下所示。
1111
在初始状态下,Yuri 无法到达任何单元格。
Yuri 可以翻转 a1,然后网格变为:
0011
于是 Yuri 便可以到达单元格 (1,1) 和 (1,2)。
另一方面,Yuri 可以翻转 b1,然后网格变为:
0101
于是 Yuri 就可以到达单元格 (1,1) 和 (2,1)。
为了到达单元格 (2,2),可以证明 Yuri 必须操作至少两次。比如,她可以翻转 a1,然后翻转 a2,网格变为:
0000
因此,答案是 1+1+1+2=5.
输入解题思路,AI测评打分。不知道怎么写?