P12724 [KOI 2021 Round 2] 图的平衡

题目背景

试题来源:。中文翻译做了少量本土化修改。 按照[署名—非商业性使用—相同方式共享 4.0 协议国际版](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans)进行授权。

题目描述

给定一个包含 $N$ 个顶点和 $M$ 条边的无向简单连通图。图中的顶点编号为 $1$ 到 $N$ 的互不相同的自然数,边的编号为 $1$ 到 $M$ 的互不相同的自然数。 第 $j$ 条边($1 \leq j \leq M$)连接编号为 $a_j$ 和 $b_j$ 的两个顶点,边的权值为整数 $c_j$。 你需要为每个顶点分配一个整数权值。设第 $i$ 个顶点($1 \leq i \leq N$)的权值为 $x_i$。 对所有顶点所分配权值的总代价定义为这些权值的绝对值之和,即: $$ |x_1| + |x_2| + \cdots + |x_N| = \sum_{i=1}^{N} |x_i| $$ 如果要使图保持平衡,则每一条边连接的两个顶点的权值之和必须等于该边的权值。也就是说,对于所有 $j$($1 \leq j \leq M$),应满足: $$ x_{a_j} + x_{b_j} = c_j $$ 例如,考虑下图中的一个图,它包含 5 个顶点和 4 条边。在图中,圆圈内的数字表示顶点编号,边上的数字表示边的权值。 ![](https://cdn.luogu.com.cn/upload/image_hosting/3u3eglcg.png) 如果按照下图所示,为各顶点分配权值为 $[2, -7, 3, -5, 0]$,则每一条边连接的两个顶点的权值之和均等于对应边的权值。图中每个圆圈中的数字即为该顶点的权值 ![](https://cdn.luogu.com.cn/upload/image_hosting/mmlya65n.png) 该分配方式的总代价为: $$ |2| + |-7| + |3| + |-5| + |0| = 2 + 7 + 3 + 5 + 0 = 17 $$ 这是最小可能总代价。 例如,若将各顶点权值设为 $[6, -3, -1, -9, 4]$,尽管此时图仍满足平衡条件,但总代价变为: $$ |6| + |-3| + |-1| + |-9| + |4| = 6 + 3 + 1 + 9 + 4 = 23 $$ ![](https://cdn.luogu.com.cn/upload/image_hosting/ne03wzok.png) 这显然不是最优方案。 你的任务是编写一个程序,判断是否存在某种分配方式使图保持平衡,若存在,请输出总代价最小的一种分配方式之一。

输入格式

第一行包含两个整数 $N$ 和 $M$,用一个空格分隔。 接下来 $M$ 行,每行包含三个整数 $a_j$、$b_j$、$c_j$,表示一条边的连接情况和其权值。各整数之间用空格分隔。

输出格式

若存在一种方式为图中每个顶点分配整数权值,使得图保持平衡,则输出: - 第一行输出 `Yes`(不区分大小写) - 第二行输出 $N$ 个整数 $x_1, x_2, \ldots, x_N$,用空格分隔,表示每个顶点的权值。若有多种满足条件的最小总代价方案,可任选其一输出。 若不存在任何一种满足条件的分配方式,则输出: - 一行输出 `No`(不区分大小写)

说明/提示

**约束条件** - 所有给定数值均为整数。 - $2 \leq N \leq 100\,000$ - $1 \leq M \leq 200\,000$ - 对所有 $j$($1 \leq j \leq M$),满足: - $1 \leq a_j, b_j \leq N$ - $a_j \ne b_j$(不存在连接同一顶点的边) - $-1\,000\,000 \leq c_j \leq 1\,000\,000$ - 对所有 $j < k$($1 \leq j < k \leq M$),满足 $\{a_j, b_j\} \ne \{a_k, b_k\}$(任意两个顶点对之间至多存在一条边) - 图是连通的,即任意两个顶点之间都存在路径相连。 **子任务** 1. (6 分)$N = 3$ 且 $M = 3$,三条边分别连接顶点 1-2、2-3、3-1 2. (10 分)$N \leq 1\,000$ 且 $M = N - 1$,第 $j$ 条边连接顶点 $j$ 和 $j + 1$ 3. (11 分)$M = N - 1$ 且第 $j$ 条边连接顶点 $j$ 和 $j + 1$ 4. (12 分)$M = N - 1$ 5. (13 分)$M = N$ 且每个顶点连接恰好两条不同的边 6. (29 分)$N \leq 1\,000$ 7. (19 分)无额外约束条件。