CF901D Weighting a Tree
题目描述
给你一个有 $n$ 个顶点与 $m$ 条边的无向图,那些顶点的编号依次为 $1$ 到 $n$。
再给你 $n$ 个整数 $C_1,C_2,\dots,C_n$,每一个数都在区间 $[-n,n]$ 之间。保证 $C_v$ 的奇偶性与顶点 $v$ 的度的奇偶性相同。一个顶点的的度是指连接到它的边数。
你需要按照下列的要求为所有边写上一个在 $[-2n^2,2n^2]$ 之间的一个重量:对于任何一个顶点 $v$,所有连接到这个顶点的边的重量和等于 $C_v$。或者,确定这是不可能达到的。
输入格式
第一行是两个整数 $n$ 和 $m\ (2\le n\le 10^5,\ n-1\le m\le 10^5)$,为边与顶点的个数。
第二行有 $n$ 个整数 $C_1,C_2,\dots,C_n\ (-n\le C_i\le n$),$C_i$ 是连接到 $i$ 的边的权值之和。保证 $C_v$ 的奇偶性与顶点 $v$ 的度的奇偶性相同。
之后的 $m$ 行是用来描述无向图的边的。对于第 $i$ 行,有 $a_i$ 和 $b_i$ 两个整数 $(1\le a_i,b_i\le n,a_i\neq b_i)$,表示第 $i$ 条边连接点 $a_i$ 和 $b_i$ 。
保证给出的无向图是联通的且不含有重边与自环。
输出格式
如果无解,输出 `NO`。
否则输出 `YES` 和 $m$ 行,每一行表示对应编号的边的权值。