CF1914E2 Game with Marbles (Hard Version)
题目描述
本题的简单版与困难版的区别仅在于测试用例数量和 $n$ 的限制。在困难版中,测试用例数量不超过 $10^4$,所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。此外,单个测试用例中的 $n$ 没有额外限制。
最近,Alice 和 Bob 的父母给了他们 $n$ 种不同颜色的弹珠。Alice 拥有第 $1$ 种颜色的 $a_1$ 个弹珠,第 $2$ 种颜色的 $a_2$ 个弹珠,……,第 $n$ 种颜色的 $a_n$ 个弹珠。Bob 拥有第 $1$ 种颜色的 $b_1$ 个弹珠,第 $2$ 种颜色的 $b_2$ 个弹珠,……,第 $n$ 种颜色的 $b_n$ 个弹珠。所有 $a_i$ 和 $b_i$ 的取值范围为 $1$ 到 $10^9$。
经过一番讨论,Alice 和 Bob 想出了如下的游戏规则:两人轮流操作,Alice 先手。在每一回合,当前玩家选择一种颜色 $i$,要求两人手中该颜色的弹珠都至少有一个。然后,该玩家丢弃自己手中一种该颜色的弹珠 $1$ 个,对手则丢弃所有该颜色的弹珠。游戏结束的条件是不存在某种颜色 $i$,使得两人手中该颜色的弹珠都至少有一个。
游戏的得分为游戏结束时 Alice 剩余弹珠数减去 Bob 剩余弹珠数,即 $A-B$,其中 $A$ 为 Alice 剩余弹珠数,$B$ 为 Bob 剩余弹珠数。Alice 希望最大化得分,Bob 希望最小化得分。
请计算当双方都采取最优策略时,游戏结束时的得分。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例包含三行:
- 第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示颜色的数量;
- 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),表示 Alice 拥有的每种颜色的弹珠数量;
- 第三行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$($1 \le b_i \le 10^9$),表示 Bob 拥有的每种颜色的弹珠数量。
输入的额外限制:所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示当 Alice 和 Bob 都采取最优策略时,游戏结束时的得分。
说明/提示
在第一个样例中,一种得到得分 $1$ 的方案如下:
1. Alice 选择颜色 $1$,丢弃 $1$ 个弹珠,Bob 也丢弃 $1$ 个弹珠;
2. Bob 选择颜色 $3$,丢弃 $1$ 个弹珠,Alice 也丢弃 $1$ 个弹珠;
3. Alice 选择颜色 $2$,丢弃 $1$ 个弹珠,Bob 丢弃 $2$ 个弹珠。
最终,Alice 剩余 $a = [3, 1, 0]$,Bob 剩余 $b = [0, 0, 3]$。得分为 $3 + 1 - 3 = 1$。
可以证明,如果双方都采取最优策略,得分无法更优。
在第二个样例中,Alice 可以先选择颜色 $1$,然后 Bob 选择颜色 $4$,之后 Alice 选择颜色 $2$,Bob 选择颜色 $3$。可以证明这是最优策略。
由 ChatGPT 4.1 翻译