Hướng dẫn giải của Tàu vũ trụ
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Lời giải: Tàu vũ trụ
Nhận xét quan trọng
Chuỗi nút nhấn hợp lệ của Bessie có cấu trúc đặc biệt: khi nhấn nút , tất cả các nút nhỏ hơn được "reset" và có thể dùng lại, nhưng nút trở nên không hợp lệ cho đến khi có nút lớn hơn được nhấn. Điều này có nghĩa là tập hợp các nút đang "hoạt động" luôn có dạng một tập hậu tố (suffix) liên tục không có lỗ hổng, và đây chính là cấu trúc của số Zeckendorf trong hệ đánh số đặc biệt.
Hướng tiếp cận
Chúng ta sử dụng quy hoạch động (DP) với node ảo (virtual node) cho mỗi truy vấn.
Định nghĩa là số chuỗi hành trình và nhấn nút hợp lệ sử dụng các nút có số không vượt quá mức hiện tại, bắt đầu tại node và kết thúc tại node .
- : các phòng thực
- : node ảo — đại diện cho trạng thái "bắt đầu ở phòng nhấn nút "
- : node ảo — đại diện cho trạng thái "kết thúc ở phòng nhấn nút "
Câu trả lời cho truy vấn là sau khi xử lý tất cả mức nút.
Thuật toán
Với mỗi mức nút (từ đến , tương ứng nút ):
Sao chép từ mức trước (chuỗi không dùng nút vẫn hợp lệ).
Với mỗi phòng "trung tâm" (nơi nhấn nút ):
- Tính mảng : số chuỗi bắt đầu tại kết thúc ngay trước khi vào :
- (chuỗi trái rỗng, Bessie bắt đầu ở )
- nếu và (node alpha kích hoạt)
- (chuỗi DP đi vào )
- Tính mảng : số chuỗi bắt đầu ngay sau kết thúc tại :
- (chuỗi phải rỗng, Bessie dừng ở )
- nếu và (node beta kích hoạt)
- (chuỗi DP từ )
- Cộng vào DP mới:
- Tính mảng : số chuỗi bắt đầu tại kết thúc ngay trước khi vào :
Độ phức tạp
- Số trạng thái DP:
- Với mỗi mức nút và mỗi phòng trung tâm: tính left và right mỗi cái mất , cộng vào DP mất
- Tổng:
Với : , hoàn toàn trong giới hạn thời gian.
Bình luận