CF1844G Tree Weights
题目描述
给定一棵有 $n$ 个节点的树,节点编号为 $1,2,\dots,n$。第 $i$ 条边连接节点 $u_i$ 和 $v_i$,其权值 $w_i$ 是一个未知的正整数。为了帮助你确定这些权值,还给出了 $d_i$,表示节点 $i$ 和 $i+1$ 之间的距离(即树上从节点 $i$ 到节点 $i+1$ 的简单路径上所有边的权值之和),对于所有 $1 \le i \le n-1$。
请你求出每条边的权值。如果有多组解,输出任意一组。如果不存在满足条件的权值 $w_i$,输出一个整数 $-1$。
输入格式
第一行包含一个整数 $n$($2 \le n \le 10^5$)。
接下来的 $n-1$ 行中,第 $i$ 行包含两个整数 $u_i$ 和 $v_i$($1 \le u_i,v_i \le n$,$u_i \ne v_i$)。
最后一行包含 $n-1$ 个整数 $d_1,\dots,d_{n-1}$($1 \le d_i \le 10^{12}$)。
保证给定的边构成一棵树。
输出格式
如果无解,输出一个整数 $-1$。否则,输出 $n-1$ 行,每行一个整数,依次表示每条边的权值 $w_1,\dots,w_{n-1}$。
如果有多组解,输出任意一组。
说明/提示
在第一个样例中,树的结构如下:

在第二个样例中,注意 $w_2$ 不能为 $0$,因为它必须是正整数,所以无解。
在第三个样例中,树的结构如下:

由 ChatGPT 4.1 翻译