Trò chơi kAND
Đề bài
Mô tả
Alice và Bob cùng chơi một trò chơi trên dãy số nguyên. Alice luôn muốn nhanh chóng tìm được một đoạn gồm các phần tử liên tiếp mà khi tính AND () của các phần tử đó bằng . Bob thì tìm cách thay đổi các số để làm khó Alice. Cụ thể, Bob muốn nhờ bạn lập trình giải bài toán sau:
Cho số nguyên và hai dãy số và cùng có độ dài . Với mỗi vị trí , ta có thể thay đổi thành giá trị bất kì với chi phí là . Tìm tổng chi phí nhỏ nhất để thay đổi dãy sao cho
với mọi .
Nhắc lại, phép toán AND (có kí hiệu là ) được định nghĩa như sau: Kết quả của phép toán AND giữa hai số nguyên không âm và là một số nguyên không âm trong đó bit thứ trong biểu diễn nhị phân của sẽ là khi và chỉ khi bit thứ trong biểu diễn nhị phân của và đồng thời bằng , ngược lại bit thứ trong biểu diễn nhị phân của sẽ là .
Dữ liệu vào
Dòng đầu tiên là một số nguyên cho biết số bộ dữ liệu, tiếp theo mỗi bộ có khuôn dạng:
- Dòng đầu tiên gồm hai số nguyên và .
- Dòng thứ hai gồm số nguyên .
- Dòng cuối cùng gồm số nguyên .
Dữ liệu đảm bảo tổng các giá trị của trong các bộ dữ liệu không vượt quá .
Dữ liệu ra
Gồm dòng, mỗi dòng tương ứng là tổng chi phí nhỏ nhất tìm được của bộ dữ liệu xuất hiện trong dữ liệu vào.
Ràng buộc
- .
- , tổng các giá trị của trong các bộ dữ liệu không vượt quá .
- , .
Subtasks
- Subtask 1 ( số điểm): Tổng các giá trị của trong bộ dữ liệu không vượt quá .
- Subtask 2 ( số điểm): với mọi .
- Subtask 3 ( số điểm): Tổng các giá trị của trong bộ dữ liệu không vượt quá .
- Subtask 4 ( số điểm): Không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 5 2 1 2 3 2 1 3 2 5 2 3 |
4 | Các đoạn độ dài có AND khác là và (vị trí và ). Đổi và thành tốn ; đổi riêng tốn . |
| 2 3 1 0 5 6 7 2 9 4 4 7 7 7 7 5 1 1 5 |
11 1 |
Bộ 1: với mọi phần tử phải bằng , phải đổi và , chi phí . Bộ 2: chỉ có một đoạn là cả dãy, đổi một phần tử rẻ nhất (). |
Bình luận