Cây khung
Đề bài
Mô tả
Với một đồ thị vô hướng có trọng số và liên thông, ta định nghĩa cây khung của đồ thị là đồ thị con có dạng cây và chứa tất cả các đỉnh của đồ thị. Trọng số của cây khung là tổng trọng số các cạnh thuộc cây. Trong bài toán này chúng ta sẽ xét cách xây dựng đồ thị và tìm cây khung có trọng số nhỏ nhất trên đồ thị được tạo ra.
Cho dãy số nguyên với số nguyên , ta xây dựng đồ thị gồm đỉnh, đỉnh nối với đỉnh bằng cạnh vô hướng với trọng số . Như vậy mọi cặp đỉnh đều có đúng một cạnh nối (đồ thị đầy đủ); trọng số cạnh có thể âm. Với , cây khung không có cạnh nào và có trọng số .
Yêu cầu: Có truy vấn tương ứng với giá trị , tìm cây khung có trọng số nhỏ nhất tương ứng.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên ;
- Dòng thứ hai gồm số nguyên ;
- Dòng thứ ba gồm số nguyên tương ứng với giá trị của từng truy vấn, các số có giá trị tuyệt đối không vượt quá .
Dữ liệu ra
In ra một dòng gồm số, mỗi số là trọng số của cây khung có trọng số nhỏ nhất tương ứng với từng giá trị , theo thứ tự trong dữ liệu vào, cách nhau bởi dấu cách.
Ràng buộc
- , ;
- ;
- với mọi truy vấn.
Subtasks
- Có số test ứng với số điểm có ; ;
- Có số test khác ứng với số điểm có ; ;
- Có số test còn lại ứng với số điểm có ; .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 1 0 -1 0 1 |
-1 -2 | Với : cạnh nặng , nặng , nặng ; chọn và một cạnh nặng , tổng . Với : các cạnh nặng ; chọn hai cạnh , tổng . |
| 4 3 3 -2 5 -1 -6 0 2 |
-90 -21 -12 | Ví dụ thêm. Với : nối đỉnh với ba đỉnh còn lại, nặng , nặng , nặng , tổng . Với : chọn nặng , nặng , nặng . Với : nối đỉnh với ba đỉnh còn lại, mỗi cạnh nặng . |
Bình luận