AT_future_contest_2020_final_2_a 千の木2

题目描述

在二维坐标平面上,分布着 $N$ 个顶点,编号为 $1$ 到 $N$。此外,还给出了 $S$ 个无向树 $T_1, \ldots, T_S$。 你的任务是将这些顶点连接起来,构造一个包含 $N$ 个顶点的无向图 $G$,并从中“提取”出 $S$ 个子图。被提取出的子图越“接近” $T_1, \ldots, T_S$ 所描述的结构,得分越高。下面对题目条件进行详细解释: - 顶点信息:每个顶点 $i$ 的坐标是 $(x_i, y_i)$,其中 $x_i, y_i$ 是 $0$ 到 $1000$ 之间的整数。每个顶点都有一个正整数“功率”,记为 $c_i$。 - 关于树:每棵无向树 $T_i$ 由 $K_i$ 个顶点构成,其中每个顶点标号为 $1$ 到 $K_i$。输入给出的树是根为 $1$ 的有根树,树 $T_i$ $(1 \leq i \leq S)$ 中每个编号为 $j$ 的顶点($2 \leq j \leq K_i$)的父节点编号为 $p_{i,j}$。 - 边的添加:构建的图 $G$ 可以包含 $0$ 到 $100000$ 条不等的无向边。若要连接顶点 $i$ 和 $j$,要求它们之间的欧几里得距离不超过 $c_i + c_j$。注意,图中不允许有自环和重边。 - 子图的提取:对于每棵树 $T_i$ $(1 \leq i \leq S)$,选择 $G$ 中的 $K_i$ 个不同顶点 $V_{i,1}, \ldots, V_{i,K_i}$,使得 $V_{i,j}$ 对应 $T_i$ 中编号为 $j$ 的顶点。同一顶点可以用于不同的树。 - 得分计算:对每棵树 $T_i$ $(1 \leq i \leq S)$,按以下规则得分,所有树的得分总和即为该测试用例的得分: - 如果存在 $x, y$ $(1 \leq x, y \leq K_i)$,使得 $T_i$ 包含边 $\{x, y\}$ 但 $G$ 不含 $\{V_{i,x}, V_{i,y}\}$,则得分为 $0$。 - 否则,设 $G$ 中多余的边对 $(x, y)$ 的数目为 $e_i$,这些边在 $T_i$ 中不存在。得分如下: - 若 $e_i = 0$,则得分 $100$。 - 若 $e_i = 1$,则得分 $10$。 - 若 $e_i = 2$,则得分 $1$。 - 若 $e_i \geq 3$,则得分 $0$。

输入格式

输入采用以下格式: > $N$ $S$ $x_1$ $y_1$ $c_1$ $x_2$ $y_2$ $c_2$ $\cdots\ x_N$ $y_N$ $c_N$ $K_1$ $p_{1,2}$ $p_{1,3}$ $\ldots$ $p_{1,K_1}$ $K_2$ $p_{2,2}$ $p_{2,3}$ $\ldots$ $p_{2,K_2}$ $\cdots\ K_S$ $p_{S,2}$ $p_{S,3}$ $\ldots$ $p_{S,K_S}$

输出格式

输出采用以下格式: > $M$ $A_1$ $B_1$ $A_2$ $B_2$ $\cdots\ A_M$ $B_M$ $V_{1,1}$ $V_{1,2}$ $\cdots\ V_{1,K_1}$ $V_{2,1}$ $V_{2,2}$ $\cdots\ V_{2,K_2}$ $\cdots\ V_{S,1}$ $V_{S,2}$ $\cdots\ V_{S,K_S}$ 这说明构建的图 $G$ 有 $M$ $(0 \leq M \leq 100000)$ 条边 $\{A_1, B_1\}, \{A_2, B_2\}, \ldots, \{A_M, B_M\}$,其中 $1 \leq A_i, B_i \leq N$。边的顺序以及边两端点的顺序可以任意。关于 $V_{i,j}$,请参见题目描述。

说明/提示

### 数据约束 - $N = 1000$ - $S = 1000$ - $2 \leq K_i \leq 100$ - $0 \leq x_i, y_i \leq 1000$ - $1 \leq c_i \leq 1500$ - Tree 父节点编号 $p_{i,j}$ 满足 $1 \leq p_{i,j} \leq j-1$ - 所有输入值均为整数 ### 测试用例生成方法 - 坐标 $(x_i, y_i)$ 以独立均匀分布的方式从 $0$ 到 $1000$ 的整数中随机选择。 - 每个顶点以各自的概率成为强、中、弱顶点,从而决定功率 $c_i$ 的取值范围: - 强顶点:$c_i$ 在 $200$ 到 $500$ 之间均匀随机。 - 中顶点:$c_i$ 在 $50$ 到 $200$ 之间均匀随机。 - 弱顶点:$c_i$ 在 $1$ 到 $50$ 之间均匀随机。 - 每棵树的结构是通过随机选定父节点 $p_{i,j}$ 构建的,父节点从 $1$ 到 $j-1$ 中随机选择。 ### 示例输入输出 示例输入和输出可以从 [这个链接](https://img.atcoder.jp/future-contest-2020-final-2/5d0f79985f1f06c9f75730a2d9e72045.zip) 下载。 **本翻译由 AI 自动生成**