Cây khung XOR
Đề bài
Mô tả
Cho một đồ thị vô hướng liên thông gồm đỉnh và cạnh có trọng số. Mỗi cạnh nối hai đỉnh khác nhau, và không có hai cạnh nào cùng nối một cặp đỉnh.
Cấu trúc của đồ thị được đảm bảo có tính chất đặc biệt sau:
- Mỗi đỉnh thuộc nhiều nhất một chu trình đơn (chu trình đơn là một đường đi khép kín xuất phát và kết thúc tại cùng một đỉnh, đi qua các đỉnh khác không quá một lần).
- Đồ thị có nhiều nhất chu trình đơn như vậy.
Bạn cần chọn ra một tập cạnh sao cho tất cả các đỉnh vẫn liên thông (tức là một cây khung của đồ thị). "Chi phí" của một tập cạnh được định nghĩa là XOR của trọng số các cạnh trong tập:
Hãy tìm:
- Giá trị chi phí nhỏ nhất có thể.
- Số cách chọn tập cạnh đạt được chi phí nhỏ nhất đó, lấy dư cho .
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và — số đỉnh và số cạnh.
- dòng tiếp theo, mỗi dòng chứa ba số nguyên , , mô tả một cạnh nối đỉnh với đỉnh có trọng số .
Dữ liệu ra
In ra hai số nguyên trên một dòng: chi phí nhỏ nhất và số cách chọn (mod ).
Ràng buộc
- Đồ thị liên thông.
- Mỗi đỉnh nằm trong nhiều nhất một chu trình đơn, và tổng số chu trình đơn không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 6 4 1 5 5 2 1 6 3 2 1 2 6 1 3 3 2 3 4 |
1 1 | Chọn các cạnh với tổng XOR . Đây là cách duy nhất đạt chi phí . |
| 9 10 8 7 10 3 6 11 3 8 3 4 5 1 9 3 11 7 3 1 2 6 10 9 4 13 1 6 4 5 9 6 |
0 2 | Có hai cách chọn cây khung với chi phí . |
Bình luận