#P11218. 【MX-S4-T2】「yyOI R2」youyou 不喜欢夏天

【MX-S4-T2】「yyOI R2」youyou 不喜欢夏天

题目背景

原题链接:https://oier.team/problems/86

题目描述

youyou 有一个大小为 2×n2 \times n 的网格,每个格子可能是黑色或者白色。

现在 youyou 和 yy 要在这个网格上玩一个游戏:

  • youyou 先选取出一个可以为空的连通块
  • 之后 yy 可以选择网格中最多 mm 列,将这些列上下行的格子颜色互换。

定义一个格子集合 SS 为一个连通块,当且仅当 SS 中任意两个格子可以通过集合 SS边相邻的若干个格子连通(即四连通)。

youyou 希望最大化最终连通块中黑色格子减白色格子的数量,而 yy 希望最小化之。

现在 youyou 希望你求出:在双方都采用最优策略的情况下,最终连通块黑色格子减白色格子的数量是多少?

输入格式

本题有多组测试数据

第一行为两个整数 c,Tc,T,分别表示测试点编号和数据组数,c=0c = 0 表示该测试点为样例。

对于每一组测试数据,第一行为两个整数 n,mn,m,表示给定网格图的列数和交换次数。

接下来两行,每行用一个长度为 nn0101 串表示每个对应位置网格的颜色,其中 11 表示黑色格子,00 表示白色格子。

输出格式

对于每一组测试数据,输出一行一个数,表示最终黑色格子减白色格子的数量。

0 2
5 2
11110
01001
7 1
1110000
0001111
2
4

提示

【样例解释 #1】

下文中记 (x,y)(x,y) 表示第 xx 行第 yy 列的格子。

对于第一组数据,youyou 选择 (1,2)(1,2)(2,2)(2,2) 两个格子,无论 yy 怎么交换,最终黑色格子和白色格子数量的差至少为 22。可以证明没有更优的解。

对于第二组数据,youyou 选择 (1,1),(1,2),(1,3),(1,4),(2,4),(2,5),(2,6),(2,7)(1,1),(1,2),(1,3),(1,4),(2,4),(2,5),(2,6),(2,7) 八个格子,无论 yy 怎么交换,最终黑色格子和白色格子数量的差至少为 44。可以证明没有更优的解。

【样例 #2】

见附件中的 summer/summer2.insummer/summer2.ans

该组样例满足测试点 474\sim 7 的约束条件。

【样例 #3】

见附件中的 summer/summer3.insummer/summer3.ans

该组样例满足测试点 101110\sim 11 的约束条件。

【样例 #4】

见附件中的 summer/summer4.insummer/summer4.ans

对于第一组测试数据,其满足特殊性质 A。

对于第二组测试数据,其满足特殊性质 B 和 C。

对于第三组测试数据,其满足特殊性质 B。

对于第四组测试数据,其满足特殊性质 C。

对于第五组测试数据,其满足特殊性质 D。

该组样例满足 T=5T=5n2×106\sum n \le 2\times10^6

【样例 #5】

见附件中的 summer/summer5.insummer/summer5.ans

该组样例满足测试点 232523 \sim 25 的约束条件。

【数据范围】

本题共 2525 个测试点,每个 44 分。

测试点编号 n\sum n 特殊性质
131 \sim 3 18\le 18
474 \sim 7 100\le 100
898 \sim 9 103\le10^3
101110 \sim 11 2×105\le2\times10^5
121312 \sim 13 2×106\le 2 \times 10^6 A
141514 \sim 15 B 和 C
161716 \sim 17 B
181918 \sim 19 C
202220 \sim 22 D
232523 \sim 25

特殊性质 A:保证不存在任何一列,使得上下两格为一黑一白。
特殊性质 B:保证不存在任何一列,使得上下两格均为黑色。
特殊性质 C:保证不存在任何一列,使得上下两格均为白色。
特殊性质 D:保证对于任意位置,其颜色在黑白中等概率随机生成。

对于全部数据,保证:1T51\le T \le 51mn2×1061 \le m \le n \le 2\times 10^6n2×106\sum{n}\le 2\times10^6