CF2253C Sum of Distinct Values in a Matrix

题目描述

给定一个有 $n$ 行 $m$ 列的矩阵,初始时所有元素都为 $0$。 同时给定两个严格递增的正整数数组 $a=[a_1,a_2,\ldots,a_x]$ 和 $b=[b_1,b_2,\ldots,b_y]$。 你可以执行任意次数(可能为零)的以下两种操作中的任意一种: - 从数组 $a$ 中选取一个数 $c$ 和一个矩阵的行,将该行的所有元素都赋值为 $c$; - 从数组 $b$ 中选取一个数 $d$ 和一个矩阵的列,将该列的所有元素都赋值为 $d$。 操作可以以任意顺序进行,你可以多次选择同一行、同一列或相同的数值。 定义矩阵的“代价”为其中至少出现一次的所有不同数字之和。请你求出该矩阵可能的最大代价。

输入格式

第一行输入一个整数 $t$($1 \le t \le 10^4$)——表示测试用例的数量。 接下来是每个测试用例的描述。 每个测试用例的第一行包含四个整数 $n$、$m$、$x$、$y$($1 \le n,m \le 10^5$,$1 \le x,y \le n+m$)——矩阵的行数、列数、数组 $a$ 和 $b$ 的长度。 第二行包含 $x$ 个整数 $a_1,a_2,\ldots,a_x$($1 \le a_1 < a_2 < \ldots < a_x \le n+m$)——数组 $a$ 的元素。 第三行包含 $y$ 个整数 $b_1,b_2,\ldots,b_y$($1 \le b_1 < b_2 < \ldots < b_y \le n+m$)——数组 $b$ 的元素。 额外输入限制: - 所有测试用例中 $n$ 的总和不超过 $10^5$; - 所有测试用例中 $m$ 的总和不超过 $10^5$。

输出格式

对于每个测试用例,输出一个整数,表示该矩阵可能的最大代价。

说明/提示

在第一个样例中,你可以先将唯一一行赋值为 $3$,再将第一列和第二列分别赋值为 $1$ 和 $2$。这样,矩阵中会包含 $1$、$2$、$3$,代价为 $6$。 在第二个样例中,你可以先将列赋值为 $2$ 和 $3$,再将第一行赋值为 $4$。则矩阵中会包含 $2$、$3$、$4$,代价为 $9$。 由 ChatGPT 5 翻译