CF1408E Avoid Rainbow Cycles

题目描述

给定 $m$ 个整数集合 $A_1, A_2, \ldots, A_m$,这些集合的元素都是 $1$ 到 $n$ 之间的整数(包含 $1$ 和 $n$)。 有两个正整数数组 $a_1, a_2, \ldots, a_m$ 和 $b_1, b_2, \ldots, b_n$。 每次操作,你可以从集合 $A_i$ 中删除一个元素 $j$,并为此支付 $a_i + b_j$ 个金币。 你可以进行若干次(也可以不进行)这样的操作(有些集合可能会变成空集)。 之后,你将用这些集合构建一个带有边颜色的无向图,该图有 $n$ 个顶点。对于每个集合 $A_i$,对于所有 $x, y \in A_i$ 且 $x < y$,你都要添加一条颜色为 $i$ 的边 $(x, y)$。某些顶点对之间可能会有多条边,但这些边的颜色各不相同。 你称一个环 $i_1 \to e_1 \to i_2 \to e_2 \to \ldots \to i_k \to e_k \to i_1$($e_j$ 是连接顶点 $i_j$ 和 $i_{j+1}$ 的某条边)为“彩虹环”,如果该环上的所有边颜色都不相同。 请你求出,为了使最终得到的图中没有彩虹环,你最少需要支付多少金币。

输入格式

第一行包含两个整数 $m$ 和 $n$($1 \leq m, n \leq 10^5$),分别表示集合的数量和图中顶点的数量。 第二行包含 $m$ 个整数 $a_1, a_2, \ldots, a_m$($1 \leq a_i \leq 10^9$)。 第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \leq b_i \leq 10^9$)。 接下来的 $m$ 行,每行描述一个集合。在第 $i$ 行,首先是一个整数 $s_i$($1 \leq s_i \leq n$),表示 $A_i$ 的大小。接下来有 $s_i$ 个整数,表示 $A_i$ 的元素。这些整数在 $1$ 到 $n$ 之间且互不相同。 保证所有 $s_i$ 之和不超过 $2 \cdot 10^5$。

输出格式

输出一个整数,表示为了避免彩虹环,你最少需要支付的金币数。

说明/提示

在第一个测试样例中,你可以进行如下操作: - 从第 $1$ 个集合中删除元素 $1$,需支付 $a_1 + b_1 = 5$ 个金币。 - 从第 $2$ 个集合中删除元素 $1$,需支付 $a_2 + b_1 = 6$ 个金币。 你总共支付了 $11$ 个金币。操作后,第 $1$、$2$ 个集合分别变为 $\{2\}$,第 $3$ 个集合为 $\{1, 2\}$。 这样,图中只剩下一条颜色为 $3$ 的边 $(1, 2)$。 在第二个测试样例中,你可以进行如下操作: - 从第 $1$ 个集合中删除元素 $1$,需支付 $a_1 + b_1 = 11$ 个金币。 - 从第 $2$ 个集合中删除元素 $4$,需支付 $a_2 + b_4 = 13$ 个金币。 - 从第 $3$ 个集合中删除元素 $7$,需支付 $a_3 + b_7 = 13$ 个金币。 - 从第 $4$ 个集合中删除元素 $4$,需支付 $a_4 + b_4 = 16$ 个金币。 - 从第 $6$ 个集合中删除元素 $7$,需支付 $a_6 + b_7 = 13$ 个金币。 你总共支付了 $66$ 个金币。 操作后,各集合变为: - $\{2, 3\}$; - $\{1\}$; - $\{1, 3\}$; - $\{3\}$; - $\{3, 4, 5, 6, 7\}$; - $\{5\}$; - $\{8\}$。 最终得到的图如下: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1408E/bc13f574151b20fac566b7dcd07e8e83c002c42d.png) 此时图中没有彩虹环。 由 ChatGPT 4.1 翻译