[DHBB18 - CNT - 11] Bài 2: Cạnh nhỏ nhất

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một đồ thị vô hướng liên thông ~n~ đỉnh và ~n - 1~ cạnh, các đỉnh đánh số từ 1 đến ~n~. Mỗi cạnh của đồ thị được gán một giá trị nguyên dương được gọi là trọng số của cạnh. Một đường đi đơn từ đỉnh ~u~ đến đỉnh ~v~ là dãy ~x_1, x_2, \dots, x_k~ trong đó ~(x_i, x_{i+1})~ với ~i = 1 \div (k-1)~ là các cạnh của đồ thị và ngoài ra ~x_i \neq x_j~ với mọi ~i \neq j~. Giá trị của đường đi trên là: ~min\{L(x_i, x_{i+1}) : i = 1, 2, \dots, k - 1\}~ Ở đây ~L(x_i, x_{i+1})~ là trọng số của cạnh ~(x_i, x_{i+1})~.

Yêu cầu: Trả lời ~Q~ câu hỏi, mỗi câu hỏi được mô tả bởi hai số nguyên ~v, k~ với ý nghĩa: Đếm xem có bao nhiêu đỉnh ~u~ của đồ thị mà có trọng số của đường đi đơn từ ~u~ đến ~v~ lớn hơn hoặc bằng ~k~?

Input

  • Dòng thứ nhất chứa hai số nguyên ~n, Q~ (~1 \le n, Q \le 10^5~)
  • ~n - 1~ dòng tiếp theo mô tả các cạnh của đồ thị, dòng thứ ~i~ chứa ba số nguyên ~p_i, q_i~ và ~r_i~ (~1 \le p_i, q_i \le n, 1 \le r_i \le 10^9~) thể hiện rằng có cạnh nối hai đỉnh ~p_i, q_i~ có trọng số ~r_i~.
  • ~Q~ dòng tiếp theo, mỗi dòng ghi một truy vấn gồm hai số nguyên ~v, k~ (~1 \le k \le 10^9, 1 \le v \le n~) thể hiện yêu cầu đếm xem có bao nhiêu đỉnh ~u~ mà trọng số đường đi đơn từ nó đến ~v~ lớn hơn hoặc bằng ~k~.

Output

  • Ghi ra ~Q~ dòng, mỗi dòng ghi một số nguyên là kết quả của truy vấn tương ứng.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.