102225: [AtCoder]ABC222 F - Expensive Expense
Description
Score : $500$ points
Problem Statement
The Kingdom of AtCoder is composed of $N$ towns and $N-1$ roads.
The towns are labeled as Town $1$, Town $2$, $\dots$, Town $N$.
Similarly, the roads are labeled as Road $1$, Road $2$, $\dots$, Road $N-1$.
Road $i$ connects Towns $A_i$ and $B_i$ bidirectionally, and you have to pay the toll of $C_i$ to go through it. For every pair of different towns $(i, j)$, it is possible to go from Town $A_i$ to Town $B_j$ via the roads.
You are given a sequence $D = (D_1, D_2, \dots, D_N)$, where $D_i$ is the cost to do sightseeing in Town $i$. Let us define the travel cost $E_{i,j}$ from Town $i$ to Town $j$ as the total toll incurred when going from Town $i$ to Town $j$, plus $D_{j}$.
- More formally, $E_{i,j}$ is defined as $D_j + \displaystyle\sum_{l=0}^{k-1} c_l$, where the shortest path between $i$ and $j$ is $i = p_0, p_1, \dots, p_{k-1}, p_k = j$ and the toll for the road connecting Towns $p_{l}$ and $p_{l+1}$ is $c_l$.
For every $i$, find the maximum possible travel cost when traveling from Town $i$ to another town.
- More formally, for every $i$, find $ \max_{1 \leq j \leq N, j \neq i} E_{i,j}$.
Constraints
- $2 \leq N \leq 2 \times 10^5$
- $1 \leq A_i \leq N$ $(1 \leq i \leq N-1)$
- $1 \leq B_i \leq N$ $(1 \leq i \leq N-1)$
- $1 \leq C_i \leq 10^9$ $(1 \leq i \leq N-1)$
- $1 \leq D_i \leq 10^9$ $(1 \leq i \leq N)$
- It is possible to travel from Town $i$ to Town $j$ via some number of roads, for a pair of integers $(i,j)$ such that $1 \leq i \lt j \leq N$.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
$N$ $A_1$ $B_1$ $C_1$ $A_2$ $B_2$ $C_2$ $\vdots$ $A_{N-1}$ $B_{N-1}$ $C_{N-1}$ $D_1$ $D_2$ $\dots$ $D_N$
Output
Print $N$ lines. The $i$-th line should contain $\displaystyle \max_{1 \leq j \leq N, j \neq i} E_{i,j}$.
Sample Input 1
3 1 2 2 2 3 3 1 2 3
Sample Output 1
8 6 6
The value of $E_{i,j}$ for every ordered pair of towns $(i,j)$ is as follows.
- $E_{1,2} = 2 + 2 = 4$
- $E_{1,3} = 5 + 3 = 8$
- $E_{2,1} = 2 + 1 = 3$
- $E_{2,3} = 3 + 3 = 6$
- $E_{3,1} = 5 + 1 = 6$
- $E_{3,2} = 3 + 2 = 5$
Sample Input 2
6 1 2 3 1 3 1 1 4 4 1 5 1 1 6 5 9 2 6 5 3 100
Sample Output 2
105 108 106 109 106 14
Sample Input 3
6 1 2 1000000000 2 3 1000000000 3 4 1000000000 4 5 1000000000 5 6 1000000000 1 2 3 4 5 6
Sample Output 3
5000000006 4000000006 3000000006 3000000001 4000000001 5000000001
Input
题意翻译
有一颗 $n$ 个点,$n - 1$ 条边带边权的树,现在定义从点 $i$ 到点 $j$ 的距离是点 $i$ 走到点 $j$ 路上的边权和加上 $d_j$,问每个点到其它点的最长距离Output
得分:$500$分
问题描述
AtCoder王国由$N$个城镇和$N-1$条道路组成。城镇被标记为城镇$1$,城镇$2$,$\dots$,城镇$N$。同样地,道路被标记为道路$1$,道路$2$,$\dots$,道路$N-1$。道路$i$双向连接城镇$A_i$和$B_i$,通过它需要支付通行费$C_i$。对于每一对不同的城镇$(i, j)$,可以通过道路从城镇$A_i$到城镇$B_j$。
给你一个序列$D = (D_1, D_2, \dots, D_N)$,其中$D_i$是在城镇$i$观光的成本。我们定义从城镇$i$到城镇$j$的旅行成本$E_{i,j}$为从城镇$i$到城镇$j$时需要支付的通行费总和,加上$D_{j}$。
- 更正式地,$E_{i,j}$被定义为$D_j + \displaystyle\sum_{l=0}^{k-1} c_l$,其中从$i$到$j$的最短路径是$i = p_0, p_1, \dots, p_{k-1}, p_k = j$,连接城镇$p_{l}$和$p_{l+1}$的通行费为$c_l$。
对于每一个$i$,找到从城镇$i$到另一个城镇的最大可能旅行成本。
- 更正式地,对于每一个$i$,找到$ \max_{1 \leq j \leq N, j \neq i} E_{i,j}$。
约束条件
- $2 \leq N \leq 2 \times 10^5$
- $1 \leq A_i \leq N$ $(1 \leq i \leq N-1)$
- $1 \leq B_i \leq N$ $(1 \leq i \leq N-1)$
- $1 \leq C_i \leq 10^9$ $(1 \leq i \leq N-1)$
- $1 \leq D_i \leq 10^9$ $(1 \leq i \leq N)$
- 对于每一对整数$(i,j)$,其中$1 \leq i \lt j \leq N$,可以从城镇$i$通过一些数量的道路到达城镇$j$。
- 输入中的所有值都是整数。
输入
从标准输入给出以下格式的输入:
$N$ $A_1$ $B_1$ $C_1$ $A_2$ $B_2$ $C_2$ $\vdots$ $A_{N-1}$ $B_{N-1}$ $C_{N-1}$