6827.Counting Paths

Time Limit: 1s Memory Limit: 512MB

You are given a tree consisting of $n$ nodes, and $m$ paths in the tree.

Your task is to calculate for each node the number of paths containing that node.

Input Format(From the terminal/stdin)

The first input line contains integers $n$ and $m$ : the number of nodes and paths. The nodes are numbered $1,2,\ldots,n$ .

Then there are $n-1$ lines describing the edges. Each line contains two integers $a$ and $b$ : there is an edge between nodes $a$ and $b$ .

Finally, there are $m$ lines describing the paths. Each line contains two integers $a$ and $b$ : there is a path between nodes $a$ and $b$ .

  • $1 \le n, m \le 2 \cdot 10^5$
  • $1 \le a,b \le n$

Output Format(To the terminal/stdout)

Print $n$ integers: for each node $1,2,\ldots,n$ , the number of paths containing that node.

Sample Input

Copy
5 3
1 2
1 3
3 4
3 5
1 3
2 5
1 4
 · \n
 · \n
 · \n
 · \n
 · \n
 · \n
 · \n
 · \n

Sample Output

Copy
3 1 3 1 1
 · · · · \n
Source: CSES, Tree Algorithms, 1136

Submit

请先 登录

© 2025 FAQs