AT_kupc2021_e PERMST

题目描述

有一个包含 $N$ 个顶点、$M$ 条边的无向简单连通图 $G$。$G$ 的顶点编号为 $1$ 到 $N$,边编号为 $1$ 到 $M$。第 $i$ 条边连接顶点 $u_i$ 和顶点 $v_i$。 给定一个长度为 $M$ 的只包含 $0$ 和 $1$ 的数列 $C = (c_1, c_2, \ldots, c_M)$。当 $c_i = 0$ 时,第 $i$ 条边被涂成蓝色;当 $c_i = 1$ 时,第 $i$ 条边被涂成红色。满足 $c_i = 1$ 的 $i$ 恰好有 $N-1$ 个,并且所有红色的边构成 $G$ 的一棵生成树。 请在满足下述条件的所有 $1$ 到 $M$ 的排列 $P = (p_1, p_2, \ldots, p_M)$ 中,输出字典序最小的一个: - 若将第 $i$ 条边的权值设为 $p_i$,则 $G$ 的最小生成树所用的所有边都是红色的。 - 此时,$G$ 的最小生成树是唯一确定的。

输入格式

输入以如下格式从标准输入读入。 > $N$ $M$ $u_1$ $v_1$ $c_1$ $u_2$ $v_2$ $c_2$ $\vdots$ $u_M$ $v_M$ $c_M$

输出格式

请输出满足条件的排列 $P = (p_1, p_2, \ldots, p_M)$ 中字典序最小的一个,格式如下,末尾需换行。 不得包含多余的空格或除末尾外的换行。(2021年10月31日 14:21 补充) > $p_1$ $p_2$ $\ldots$ $p_M$

说明/提示

### 限制条件 - $2 \le N \le 2 \times 10^5$ - $N - 1 \le M \le 2 \times 10^5$ - $1 \le u_i < v_i \le N$ - 对于 $1 \leq i < j \leq M$,有 $(u_i, v_i) \neq (u_j, v_j)$ - $c_i \in \{0, 1\}$ - $\{ \text{边 } i \mid c_i = 1 \}$ 构成 $G$ 的一棵生成树。 ### 样例解释 1 当 $P = (3, 1, 4, 5, 2)$ 时,将第 $i$ 条边的权值设为 $P_i$,此时最小生成树所用的所有边都是红色的。$P = (4, 1, 2, 5, 3)$ 也满足条件,但字典序最小的是 $(3, 1, 4, 5, 2)$。 由 ChatGPT 4.1 翻译