Class Solution
-
- All Implemented Interfaces:
public final class Solution3067 - Count Pairs of Connectable Servers in a Weighted Tree Network\.
Medium
You are given an unrooted weighted tree with
nvertices representing servers numbered from0ton - 1, an arrayedgeswhere <code>edgesi = a<sub>i</sub>, b<sub>i</sub>, weight<sub>i</sub></code> represents a bidirectional edge between vertices <code>a<sub>i</sub></code> and <code>b<sub>i</sub></code> of weight <code>weight<sub>i</sub></code>. You are also given an integersignalSpeed.Two servers
aandbare connectable through a servercif:a < b,a != candb != c.The distance from
ctoais divisible bysignalSpeed.The distance from
ctobis divisible bysignalSpeed.The path from
ctoband the path fromctoado not share any edges.
Return an integer array
countof lengthnwherecount[i]is the number of server pairs that are connectable through the serveri.Example 1:
Input: edges = \[\[0,1,1],1,2,5,2,3,13,3,4,9,4,5,2], signalSpeed = 1
Output: 0,4,6,6,4,0
Explanation: Since signalSpeed is 1, countc is equal to the number of pairs of paths that start at c and do not share any edges.
In the case of the given path graph, countc is equal to the number of servers to the left of c multiplied by the servers to the right of c.
Example 2:
Input: edges = \[\[0,6,3],6,5,3,0,3,1,3,2,7,3,1,6,3,4,2], signalSpeed = 3
Output: 2,0,0,0,0,0,2
Explanation: Through server 0, there are 2 pairs of connectable servers: (4, 5) and (4, 6).
Through server 6, there are 2 pairs of connectable servers: (4, 5) and (0, 5).
It can be shown that no two servers are connectable through servers other than 0 and 6.
Constraints:
2 <= n <= 1000edges.length == n - 1edges[i].length == 3<code>0 <= a<sub>i</sub>, b<sub>i</sub>< n</code>
<code>edgesi = a<sub>i</sub>, b<sub>i</sub>, weight<sub>i</sub></code>
<code>1 <= weight<sub>i</sub><= 10<sup>6</sup></code>
<code>1 <= signalSpeed <= 10<sup>6</sup></code>
The input is generated such that
edgesrepresents a valid tree.