WIRELESS
Xem PDFCông ty viễn thông Sunchain (trực thuộc tập đoàn Edison chuyên sản xuất xe máy điện) đang thử nghiệm công nghệ mạng không dây mới.
\(n−1\) đường dây mạng. Đường dây thứ \(i\) kết nối giữa trạm \(u_i\) và \(v_i\), và có chiều dài là \(w_i\) mét. Việc kết nối các trạm đảm bảo thông tin luôn được truyền tải giữa hai trạm phát sóng bất kỳ. Mỗi trạm phát sóng sẽ hoạt động ở một trong hai trạng thái: chế độ hoạt động (vừa phát tín hiệu mới, vừa nhận thông tin hoặc trung chuyển truyền tin từ trạm này sang trạm khác), hoặc chế độ nghỉ ngơi (chỉ nhận thông tin hoặc trung chuyển truyền tin). Khi phát một tín hiệu từ trạm \(s\) gửi tới trạm \(t\) bất kỳ, chi phí truyền tin sẽ bằng tổng độ dài của các đường dây mạng trên đường đi đơn duy nhất đi từ \(s\) đến \(t\).
Các kỹ sư có kế hoạch thử nghiệm sơ bộ \(q\) lần. Vì đang trong quá trình thử nghiệm, đôi khi các kỹ sư của Sunchain sẽ cho một số trạm nghỉ ngơi. Ở lần thử nghiệm thứ \(i\), các kỹ sư sẽ bật \(k_i\) trạm phát sóng \(s_1, s_2, … , s_{k_i}\) ở chế độ hoạt động, và các trạm còn lại được cho nghỉ ngơi.
Cơ chế thử nghiệm tương đối đơn giản: Chọn ra một trạm phát sóng tiếp nhận \(T_i\) (có thể hoạt động hoặc là nghỉ ngơi) để thu thập dữ liệu. Tất cả \(k_i\) trạm này sẽ cùng nhau phát tín hiệu gửi tới trạm \(T_i\), và chi phí cho việc thử nghiệm này bằng tổng chi phí truyền tin của từng trạm hoạt động tới trạm tiếp nhận \(T_i\).
Sunchain đang trong giai đoạn khó khăn, nên việc thử nghiệm cũng cần phải tiết kiệm.
Yêu cầu: với mỗi lần thử nghiệm sơ bộ, bạn hãy chọn ra trạm tiếp nhận sao cho chi phí thử nghiệm là thấp nhất nhé!
Input
- Dòng đầu tiên lần lượt gồm hai số nguyên dương \(n\) và \(q(1 ≤ n ≤ 5×10^5, 1 ≤ q ≤ 10^5)\) là số trạm phát sóng và số thử nghiệm.
- \(n−1\) dòng tiếp theo, dòng thứ \(i\) lần lượt gồm ba số \(u_i, v_i, w_i(1 ≤ u_i, v_i ≤ n, u_i \neq v_i, 1 ≤ w_i ≤ 10^6)\) thể hiện một đường dây kết nối giữa trạm \(u_i\) và \(v_i\) có chiều dài là \(w_i\) mét.
- \(q\) dòng tiếp theo, dòng thứ \(j\) bắt đầu bằng số nguyên dương \(k_j\), kế đến là \(k_j\) số phân biệt \(s_1, s_2, … , s_{k_j}(1 ≤ k_j ≤ n, 1 ≤ s_i ≤ n)\), thể hiện một lần thử nghiệm.
Dữ liệu đảm bảo \(\sum\nolimits_{j=1}^{q} k_j \leq 5\times 10^5\).
Ràng buộc:
- Subtask \(1\) (20% số điểm): \(n,q ≤ 500\).
- Subtask \(2\) (20% số điểm): \(k_j = 2\).
- Subtask \(3\) (20% số điểm): \(k_j = 3\).
- Subtask \(4\) (20% số điểm): \(q=1\).
- Subtask \(5\) (20% số điểm): Không có ràng buộc gì thêm.
Output
- In ra \(q\) dòng, dòng thứ \(j\) chứa duy nhất một số \(c_j\), cho biết chi phí tối thiểu trong lần thử nghiệm sơ bộ thứ \(j\).
Example
Test 1
Input
8 3
1 2 2
1 3 3
2 4 4
3 5 3
3 6 5
6 7 1
6 8 6
2 2 8
3 4 7 8
4 1 5 7 8
Output
16
21
23
Bình luận