TMAXSET - Tìm tập độc lập cực đại trên cây
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Cho một cây với trọng số trên mỗi đỉnh và một tập con Q các đỉnh của cây, hãy tìm tập độc lập có tổng trọng số lớn nhất trong Q.

Dữ liệu vào

Dòng đầu chứa một số T ≤ 20 là số lượng bộ test; Mỗi test có cấu trúc như sau:
• Dòng đầu chứa 2 số nm là số đỉnh và số cạnh của đồ thị;
• Dòng thứ 2 chứa n số là trọng số trên mỗi đỉnh;
• Từ dòng 3 đến dòng m + 2, mỗi dòng chứa 2 số là các cặp đỉnh có cạnh nối giữa chúng, dữ liệu đảm bảo đồ thị đã cho là 1 cây;
• Dòng m + 3 chứa 1 số nguyên q là số truy vấn, sau đó mỗi dòng trong số q dòng tiếp chứa 1 dãy số:
          – Số đầu tiên trong dãy k chỉ số lượng của tập đỉnh truy vấn:
          – k số tiếp theo chỉ số hiệu từng đỉnh trong tập (đánh số từ 0) là những đỉnh xét đến trong n đỉnh ban đầu

Kết quả

Mỗi truy vấn in ra 1 kết quả là trọng số tập độc lập lớn nhất trên 1 dòng. Sau mỗi một bộ test thì in ra một dòng trống.

Ví dụ

Input

1
3 2
5 4 10
0 2
2 1
1
2 2 1 

Output

10

Giải thích

Trong ví dụ trên, có 1 bộ test với cây gồm 3 đỉnh có số hiệu là 0,1,2 và 2 cạnh (0 2) và (2 1). Có 1 truy vấn chỉ xét trên 2 đỉnh có số hiệu 1 và 2.

Giới hạn

• 50% số test 5 ≤ n ≤ 30, 1 ≤ q ≤ 100;
• 25% số test tiếp theo có 10 ≤ n ≤ 200, 100 ≤ q ≤ 1000;
• 25% số test còn lại có 150 ≤ n ≤ 200, q = 1000.


Nguồn: ĐPT '1819

Back to Top