[DHBB18 - CNT - 11] Bài 2: Cạnh nhỏ nhất
Xem dạng PDFTrong 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